The platform used to write and generate this .html document is
cat(platform) on RStudio, cat(r_info). The
required packages to run all necessary code chunks are checked and
installed using the pacman
R package. p_load from the package is used to load and
install all listed packages. The details for a number of packages are
described before their use. If they are not, the .rmd file
will provide the list of packages that are installed.
This section is unique only to the Stage 1 registered reported. We are not using any real data, so to ensure that each step is completed correctly, we use simulated data. We can operate under the assumption that all participants will have no missing values given how exclusion criteria are applied and fMRI data are extracted from the BOLD timeseries.
In this section, a population model is fit reflecting the theoretical
phenomenon that are involved in the reward processing construct. The
idea is that there are approach and avoidance (measured constructs)
characteristics that are associated with stimuli within/across tasks
(Manifest variables). There is no ground truth of these
processes at the individual. Nevertheless, the variables are important
to the broad construct of approach and avoidance that are sub-constructs
of the higher-order reward processing construct. In the MID task these
constructs are hypothesized to reflect the the multidimensional
affective circumplex model. As formalized here, in the MID task the
contrasts reflect the manifest variables (i.e., reflective model) as
opposed of the other way, whereby the items form the variables predict
the construct (i.e., formative model).
Start off by specifying the population model. In
this scenario, the individual runs load onto the specific Contrast and
ROI combinations. Then, the ROIs are loaded onto the factors
approach and avoidance. The approach and
avoidance are specified as negatively correlated and the factor
variances are fixed to 1. This is because in the
multidimensional circumplex model, when the span of the contrasts are
considered, these measures will likely not be orthogonal but instead
>90 degree in space.
population_model<-'
# By run loadings for bilateral regions
AWin_v_Neut_L_NAcc =~ .7*AWin_v_Neut_L_NAcc_run1 + .7*AWin_v_Neut_L_NAcc_run2
AWin_v_Neut_L_Insula =~ .7*AWin_v_Neut_L_Insula_run1 + .7*AWin_v_Neut_L_Insula_run2
BWin_v_Neut_L_NAcc =~ .7*BWin_v_Neut_L_NAcc_run1 + .7*BWin_v_Neut_L_NAcc_run2
BWin_v_Neut_L_Insula =~ .7*BWin_v_Neut_L_Insula_run1 + .7*BWin_v_Neut_L_Insula_run2
BWin_v_BLose_L_NAcc =~ .7*BWin_v_BLose_L_NAcc_run1 + .7*BWin_v_BLose_L_NAcc_run2
BWin_v_BLose_L_Insula =~ .7*BWin_v_BLose_L_Insula_run1 + .7*BWin_v_BLose_L_Insula_run2
ALose_v_Neut_L_NAcc =~ .7*ALose_v_Neut_L_NAcc_run1 + .7*ALose_v_Neut_L_NAcc_run2
ALose_v_Neut_L_Insula =~ .7*ALose_v_Neut_L_Insula_run1 + .7*ALose_v_Neut_L_Insula_run2
BLose_v_Neut_L_NAcc =~ .7*BLose_v_Neut_L_NAcc_run1 + .7*BLose_v_Neut_L_NAcc_run2
BLose_v_Neut_L_Insula =~ .7*BLose_v_Neut_L_Insula_run1 + .7*BLose_v_Neut_L_Insula_run2
BLose_v_BWin_L_NAcc =~ .7*BLose_v_BWin_L_NAcc_run1 + .7*BLose_v_BWin_L_NAcc_run2
BLose_v_BWin_L_Insula =~ .7*BLose_v_BWin_L_Insula_run1 + .7*BLose_v_BWin_L_Insula_run2
AWin_v_Neut_R_NAcc =~ .7*AWin_v_Neut_R_NAcc_run1 + .7*AWin_v_Neut_R_NAcc_run2
AWin_v_Neut_R_Insula =~ .7*AWin_v_Neut_R_Insula_run1 + .7*AWin_v_Neut_R_Insula_run2
BWin_v_Neut_R_NAcc =~ .7*BWin_v_Neut_R_NAcc_run1 + .7*BWin_v_Neut_R_NAcc_run2
BWin_v_Neut_R_Insula =~ .7*BWin_v_Neut_R_Insula_run1 + .7*BWin_v_Neut_R_Insula_run2
BWin_v_BLose_R_NAcc =~ .7*BWin_v_BLose_R_NAcc_run1 + .7*BWin_v_BLose_R_NAcc_run2
BWin_v_BLose_R_Insula =~ .7*BWin_v_BLose_R_Insula_run1 + .7*BWin_v_BLose_R_Insula_run2
ALose_v_Neut_R_NAcc =~ .7*ALose_v_Neut_R_NAcc_run1 + .7*ALose_v_Neut_R_NAcc_run2
ALose_v_Neut_R_Insula =~ .7*ALose_v_Neut_R_Insula_run1 + .7*ALose_v_Neut_R_Insula_run2
BLose_v_Neut_R_NAcc =~ .7*BLose_v_Neut_R_NAcc_run1 + .7*BLose_v_Neut_R_NAcc_run2
BLose_v_Neut_R_Insula =~ .7*BLose_v_Neut_R_Insula_run1 + .7*BLose_v_Neut_R_Insula_run2
BLose_v_BWin_R_NAcc =~ .7*BLose_v_BWin_R_NAcc_run1 + .7*BLose_v_BWin_R_NAcc_run2
BLose_v_BWin_R_Insula =~ .7*BLose_v_BWin_R_Insula_run1 + .7*BLose_v_BWin_R_Insula_run2
#Factor item loadings
Approach =~ .8*AWin_v_Neut_L_NAcc + .8*AWin_v_Neut_R_NAcc + .45*AWin_v_Neut_R_Insula +
.7*BWin_v_Neut_L_NAcc + .7*BWin_v_Neut_R_NAcc + .4*BWin_v_Neut_R_Insula +
.8*BWin_v_BLose_L_NAcc + .8*BWin_v_BLose_R_NAcc
Avoid =~ .8*ALose_v_Neut_L_Insula + .8*ALose_v_Neut_R_Insula +
.75*BLose_v_Neut_L_Insula + .75*BLose_v_Neut_R_Insula +
.8*BLose_v_BWin_L_Insula + .45*BLose_v_BWin_R_Insula
# Factor Covariances
Approach ~~ -.6*Avoid
# Fixing factor variances
Approach ~~ 1*Approach
Avoid ~~ 1*Avoid
'Using the population model, simsem
is used to create simulated data. This generates a fake
dataset that is used to pilot the planned Mutligroup CFA, ESEM, EFA and
Local SEM models
In this case, 50 repetitions are simulated per model for an
approximate N sample for each study. Even though the factor
variances are specified in the population model as ‘1’, this model
fixeds all latent variables using std.lv = TRUE.
set.seed(25151215)
sim_AHRB <- simsem::sim(nRep = 50, model = "lavaan", n = 108,
generate = population_model, std.lv = TRUE, lavaanfun = "sem",
# std.lv ~ ix the variances of all the latent variables
dataOnly=T, meanstructure = FALSE, seed=123)
sim_MLS <- simsem::sim(nRep = 50, model = "lavaan", n = 159,
generate = population_model, std.lv = TRUE, lavaanfun = "sem",
dataOnly=T, meanstructure = FALSE, seed=123)
sim_ABCD <- simsem::sim(nRep = 50, model = "lavaan", n = 1000,
generate = population_model, std.lv = TRUE, lavaanfun = "sem",
dataOnly=T, meanstructure = FALSE, seed=123)Average each repetition for each simulated sample. For example, after
50 repetitions of 1000 participants for the population model of ABCD
sample, an average estimate is derived using aaply. For
each study, the set variable is created to differentiate
which sample the data is associated with (i.e., grouping variable). In
this case, AHRB = 3, MLS = 2,
ABCD = 1.
sim_AHRB_data <- data.frame(aaply(laply(sim_AHRB, as.matrix), c(2,3), mean))
sim_AHRB_data$set <-3
sim_MLS_data <- data.frame(aaply(laply(sim_MLS, as.matrix), c(2,3), mean))
sim_MLS_data$set <-2
sim_ABCD_data <- data.frame(aaply(laply(sim_ABCD, as.matrix), c(2,3), mean))
sim_ABCD_data$set <-1Next, row bind the data sets to form one complete data. This equivalent to stacking the datasets and only retaining a single header row (since all variable names are constant). This creates a 1267 x 49 data matrix (48 brain variables + sample label)
brain_set <- rbind(sim_AHRB_data,sim_MLS_data,sim_ABCD_data)Here, a combination of rcorr and corrplot are used to visualize the associations among the brain variables in the dataset.
# Using Hmisc to create a 24x24 matrix for a list (3) that contains: the pearson's r corr, sample size (N), and significance (p).
Brain_corr = rcorr(as.matrix(subset(brain_set,select=-c(set))), # excluding the set of data related to sample
type = "pearson")
# Using corrplot() to create heatmap of the data.
par(mfrow=c(1,1))
corrplot(Brain_corr$r, type = "upper",
order = 'hclust',
method = "color",
tl.cex = 0.5, tl.col = 'black',
cl.pos = 'r', tl.pos = 'lt', outline = TRUE,
col=colorRampPalette(c("navyblue","white","red2"))(100),# colours http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf
mar = c(2,.15,.25,.15)#bottom, left, top and right,
)Run the CFA multi-group analysis for the three datasets. Multi-group CFA tests the measurement invariance across defined groups to determine whether soft and strict invariance criteria are met and the degree to which the derive estimates for an item in one study can be compared to the same item in another sample. In this case, the focus is on the configural (structure) and metric invariance (loadings). In short, this model evaluates whether factor structure and loadings for the approach and avoidance model are invariant (dont significant differ) across the samples.
Code here is based on measurement invariance models from Maasen et al. 2019, Measurement invariance presentation from Kate Xu and Multi-group CFA tutorial from Hirschfeld & Brachel (2014).
The issue of multi-group is invariance what is discussed in Borsboom (2006). In short, (1) Interpretation of group differences on observed scores DEPENDS on the invariance of measurement models & (2) many make conclusions without doing a single test of measurement invariance.
A tutorial on CFA broadly is available from Lizbeth Benzon and Nilam Ram here and tutorial of measurement invariance (in context of longitudinal data) from Nilam Ram is available here
The below specified model will be used. The number of estimate parameters are fewer and may be more appropriate for the theoretical model. This model may result in few convergence issues if the number of participants ends up to be few and the coefficients/estimates are lower.(see Kline 2015 book on Principles and Practice of Structural Equation Modeling).
MID_model <-'
# Factor loadings
Approach =~ AWin_v_Neut_L_NAcc_run1 + AWin_v_Neut_R_NAcc_run1 + AWin_v_Neut_R_Insula_run1 +
AWin_v_Neut_L_NAcc_run2 + AWin_v_Neut_R_NAcc_run2 + AWin_v_Neut_R_Insula_run2 +
BWin_v_Neut_L_NAcc_run1 + BWin_v_Neut_R_NAcc_run1 + BWin_v_Neut_R_Insula_run1 +
BWin_v_Neut_L_NAcc_run2 + BWin_v_Neut_R_NAcc_run2 + BWin_v_Neut_R_Insula_run2 +
BWin_v_BLose_L_NAcc_run1 + BWin_v_BLose_R_NAcc_run1 +
BWin_v_BLose_L_NAcc_run2 + BWin_v_BLose_R_NAcc_run2
Avoid =~ ALose_v_Neut_L_Insula_run1 + ALose_v_Neut_R_Insula_run1 +
ALose_v_Neut_L_Insula_run2 + ALose_v_Neut_R_Insula_run2 +
BLose_v_Neut_L_Insula_run1 + BLose_v_Neut_R_Insula_run1 +
BLose_v_Neut_L_Insula_run2 + BLose_v_Neut_R_Insula_run2 +
BLose_v_BWin_L_Insula_run1 + BLose_v_BWin_R_Insula_run1 +
BLose_v_BWin_L_Insula_run2 + BLose_v_BWin_R_Insula_run2
'Below is the CFA model that is used to test the proposed restricted
model (see Figure 1 in the manuscript). The CFA fitting procedure is
consistent with the description here. For each CFA
model, the full sample is filtered for each type sample, e.g. AHRB, MLS,
ABCD. The std.lv= = TRUE constrain the latent factor
variances to 1. The estimator being used is MLR, a
maximum likelihood robust estimator. A CFA model is estimated for the
complete data (i.e., all three datasets).
all_sample <- cfa(model = MID_model, data = brain_set,
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)Here, the configular multigroup model is fit. As
described in D’Urso et
al. (2022) measurement invariance pre-print, the configural model
tests:
is the structure of the factors is invariannt across the samples (‘set’). In other words, if we a priori propose a two-factor structure (FA 1 = approch and FA 2 = Avoidance), does this two factor structure represent the between-person variability in the items that reflect the factors across each sample?
If the variability in one sample suggests a one, three, or four factor structure, this will be degrade the fit statistics.
A pre-specified CFA model is used to evaluate whether the
measures/items that reflect the factor are the same across groups.
group= 'set' is used to define the grouping variable. All
loadings and intercepts are free to vary across groups, and the factor
variance is set to ‘1’ via std.lv = TRUE
configural_cfa <- cfa(model = MID_model, data = brain_set, group = 'set',
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)After fitting the CFA configurial (factor structure) invariance, if the model fit is not poor, then the next step is to test the metric invariance. Metric invariance tests:
are the loadings are consistent across the groups. In other words,are the phenomena (i.e., approach and avoidance) reflected by the same pattern across the measures/items?
One cause for concern may be that the phenomenon are not invariant across age groups, in that the items/measures (ROIs for a given contrast) do not load in the same manner onto each factor. This ‘soft’ measure of invariance can determine whether the items functions differ across the items and so cannot be easily compared.
The model is fit using the same procedure as for configurial
invariance with one exception: In metric invariance the loadings group
equality constraint is added to the model via
group.equal=c("loadings"). The model fit statistics are
used to evaluate whether the fit is poor.
metric_cfa <-cfa(model = MID_model, data = brain_set,
group = 'set', group.equal=c("loadings"),
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)Once the above models are fit, the following information is pulled
out and saved into a out data frame:
# Below selects specific fit data as described in Maassen et al. 2019 OSF. No comparisons are made to compare models at this point.
out <- matrix(NA, ncol = 10, nrow = 4)
colnames(out) <- c("model","chisq","df","pvalue", "rmsea", "cfi","tli", "srmr",
"AIC", "BIC")
# save fit measures from models
out[1,2:8] <- round(data.matrix(fitmeasures(all_sample,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi","tli", "srmr"))),
digits=3)
out[2,2:8] <- round(data.matrix(fitmeasures(configural_cfa,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi","tli", "srmr"))),
digits=3)
out[3,2:8] <- round(data.matrix(fitmeasures(metric_cfa,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi","tli", "srmr"))),
digits=3)
# AIC models
out[1,9] <- round(AIC(all_sample),3)
out[2,9] <- round(AIC(configural_cfa),3)
out[3,9] <- round(AIC(metric_cfa),3)
# BIC models
out[1,10] <- round(BIC(all_sample),3)
out[2,10] <- round(BIC(configural_cfa),3)
out[3,10] <- round(BIC(metric_cfa),3)
out[1:3,1] <- c("Overall CFA", "Configg MG-CFA", "Metric MG-CFA")Reporting standardized coefficients.
##### Summarizing All Samples CFA model #####
parameters(all_sample, standardize = T)## # Loading
##
## Link | Coefficient | SE | 95% CI | z | p
## ------------------------------------------------------------------------------------------
## Approach =~ AWin_v_Neut_L_NAcc_run1 | 0.44 | 0.03 | [0.38, 0.51] | 14.45 | < .001
## Approach =~ AWin_v_Neut_R_NAcc_run1 | 0.45 | 0.03 | [0.40, 0.51] | 15.78 | < .001
## Approach =~ AWin_v_Neut_R_Insula_run1 | 0.22 | 0.03 | [0.16, 0.29] | 7.08 | < .001
## Approach =~ AWin_v_Neut_L_NAcc_run2 | 0.48 | 0.03 | [0.43, 0.54] | 16.93 | < .001
## Approach =~ AWin_v_Neut_R_NAcc_run2 | 0.48 | 0.03 | [0.43, 0.53] | 17.82 | < .001
## Approach =~ AWin_v_Neut_R_Insula_run2 | 0.24 | 0.03 | [0.17, 0.30] | 7.47 | < .001
## Approach =~ BWin_v_Neut_L_NAcc_run1 | 0.48 | 0.03 | [0.42, 0.53] | 17.17 | < .001
## Approach =~ BWin_v_Neut_R_NAcc_run1 | 0.37 | 0.03 | [0.31, 0.43] | 12.53 | < .001
## Approach =~ BWin_v_Neut_R_Insula_run1 | 0.23 | 0.03 | [0.17, 0.29] | 7.32 | < .001
## Approach =~ BWin_v_Neut_L_NAcc_run2 | 0.40 | 0.03 | [0.35, 0.46] | 13.99 | < .001
## Approach =~ BWin_v_Neut_R_NAcc_run2 | 0.41 | 0.03 | [0.36, 0.47] | 14.73 | < .001
## Approach =~ BWin_v_Neut_R_Insula_run2 | 0.27 | 0.03 | [0.21, 0.33] | 8.30 | < .001
## Approach =~ BWin_v_BLose_L_NAcc_run1 | 0.45 | 0.03 | [0.39, 0.50] | 15.12 | < .001
## Approach =~ BWin_v_BLose_R_NAcc_run1 | 0.47 | 0.03 | [0.41, 0.53] | 16.47 | < .001
## Approach =~ BWin_v_BLose_L_NAcc_run2 | 0.42 | 0.03 | [0.37, 0.48] | 14.19 | < .001
## Approach =~ BWin_v_BLose_R_NAcc_run2 | 0.47 | 0.03 | [0.42, 0.53] | 16.34 | < .001
## Avoid =~ ALose_v_Neut_L_Insula_run1 | 0.46 | 0.03 | [0.40, 0.52] | 15.36 | < .001
## Avoid =~ ALose_v_Neut_R_Insula_run1 | 0.48 | 0.03 | [0.42, 0.53] | 16.58 | < .001
## Avoid =~ ALose_v_Neut_L_Insula_run2 | 0.42 | 0.03 | [0.36, 0.48] | 14.25 | < .001
## Avoid =~ ALose_v_Neut_R_Insula_run2 | 0.47 | 0.03 | [0.41, 0.52] | 16.74 | < .001
## Avoid =~ BLose_v_Neut_L_Insula_run1 | 0.44 | 0.03 | [0.38, 0.50] | 14.51 | < .001
## Avoid =~ BLose_v_Neut_R_Insula_run1 | 0.50 | 0.03 | [0.44, 0.56] | 16.42 | < .001
## Avoid =~ BLose_v_Neut_L_Insula_run2 | 0.41 | 0.03 | [0.35, 0.47] | 13.36 | < .001
## Avoid =~ BLose_v_Neut_R_Insula_run2 | 0.48 | 0.03 | [0.43, 0.54] | 16.06 | < .001
## Avoid =~ BLose_v_BWin_L_Insula_run1 | 0.45 | 0.03 | [0.40, 0.51] | 14.94 | < .001
## Avoid =~ BLose_v_BWin_R_Insula_run1 | 0.27 | 0.03 | [0.21, 0.34] | 8.55 | < .001
## Avoid =~ BLose_v_BWin_L_Insula_run2 | 0.45 | 0.03 | [0.39, 0.51] | 14.91 | < .001
## Avoid =~ BLose_v_BWin_R_Insula_run2 | 0.27 | 0.03 | [0.21, 0.34] | 8.53 | < .001
##
## # Correlation
##
## Link | Coefficient | SE | 95% CI | z | p
## -------------------------------------------------------------------------
## Approach ~~ Avoid | -0.55 | 0.03 | [-0.61, -0.49] | -18.77 | < .001
##### Summarizing Configural MG-CFA model #####
parameters(configural_cfa, standardize = T)## # Loading
##
## Link | Coefficient | SE | 95% CI | z | p | Group
## ---------------------------------------------------------------------------------------------------
## Approach =~ AWin_v_Neut_L_NAcc_run1 | 0.51 | 0.13 | [ 0.26, 0.76] | 4.03 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_NAcc_run1 | 0.51 | 0.10 | [ 0.31, 0.71] | 5.07 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_Insula_run1 | 0.19 | 0.13 | [-0.07, 0.45] | 1.43 | 0.154 | 1.00
## Approach =~ AWin_v_Neut_L_NAcc_run2 | 0.47 | 0.13 | [ 0.21, 0.72] | 3.63 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_NAcc_run2 | 0.38 | 0.12 | [ 0.15, 0.61] | 3.23 | 0.001 | 1.00
## Approach =~ AWin_v_Neut_R_Insula_run2 | 0.18 | 0.14 | [-0.09, 0.45] | 1.29 | 0.198 | 1.00
## Approach =~ BWin_v_Neut_L_NAcc_run1 | 0.33 | 0.11 | [ 0.12, 0.54] | 3.12 | 0.002 | 1.00
## Approach =~ BWin_v_Neut_R_NAcc_run1 | 0.30 | 0.15 | [ 0.01, 0.59] | 2.00 | 0.046 | 1.00
## Approach =~ BWin_v_Neut_R_Insula_run1 | 0.10 | 0.14 | [-0.16, 0.37] | 0.76 | 0.445 | 1.00
## Approach =~ BWin_v_Neut_L_NAcc_run2 | 0.34 | 0.10 | [ 0.14, 0.55] | 3.28 | 0.001 | 1.00
## Approach =~ BWin_v_Neut_R_NAcc_run2 | 0.45 | 0.11 | [ 0.25, 0.66] | 4.30 | < .001 | 1.00
## Approach =~ BWin_v_Neut_R_Insula_run2 | 0.26 | 0.11 | [ 0.04, 0.48] | 2.27 | 0.023 | 1.00
## Approach =~ BWin_v_BLose_L_NAcc_run1 | 0.34 | 0.14 | [ 0.07, 0.61] | 2.45 | 0.014 | 1.00
## Approach =~ BWin_v_BLose_R_NAcc_run1 | 0.48 | 0.10 | [ 0.29, 0.67] | 4.94 | < .001 | 1.00
## Approach =~ BWin_v_BLose_L_NAcc_run2 | 0.44 | 0.15 | [ 0.14, 0.73] | 2.88 | 0.004 | 1.00
## Approach =~ BWin_v_BLose_R_NAcc_run2 | 0.56 | 0.09 | [ 0.38, 0.75] | 6.06 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_L_Insula_run1 | 0.52 | 0.10 | [ 0.32, 0.72] | 5.16 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_R_Insula_run1 | 0.53 | 0.09 | [ 0.34, 0.71] | 5.62 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_L_Insula_run2 | 0.55 | 0.11 | [ 0.33, 0.77] | 4.86 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_R_Insula_run2 | 0.54 | 0.10 | [ 0.34, 0.73] | 5.33 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_L_Insula_run1 | 0.50 | 0.10 | [ 0.30, 0.69] | 4.95 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_R_Insula_run1 | 0.41 | 0.10 | [ 0.21, 0.61] | 3.99 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_L_Insula_run2 | 0.23 | 0.09 | [ 0.05, 0.41] | 2.54 | 0.011 | 1.00
## Avoid =~ BLose_v_Neut_R_Insula_run2 | 0.46 | 0.11 | [ 0.24, 0.68] | 4.11 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_L_Insula_run1 | 0.34 | 0.10 | [ 0.15, 0.53] | 3.52 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_R_Insula_run1 | 0.37 | 0.09 | [ 0.19, 0.56] | 3.98 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_L_Insula_run2 | 0.41 | 0.12 | [ 0.17, 0.64] | 3.38 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_R_Insula_run2 | 0.37 | 0.10 | [ 0.17, 0.57] | 3.61 | < .001 | 1.00
## Approach =~ AWin_v_Neut_L_NAcc_run1 | 0.42 | 0.10 | [ 0.22, 0.61] | 4.23 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_NAcc_run1 | 0.54 | 0.07 | [ 0.40, 0.69] | 7.43 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_Insula_run1 | 0.15 | 0.08 | [-0.01, 0.31] | 1.89 | 0.059 | 2.00
## Approach =~ AWin_v_Neut_L_NAcc_run2 | 0.51 | 0.08 | [ 0.36, 0.67] | 6.55 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_NAcc_run2 | 0.41 | 0.09 | [ 0.23, 0.59] | 4.52 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_Insula_run2 | 2.85e-03 | 0.09 | [-0.18, 0.18] | 0.03 | 0.975 | 2.00
## Approach =~ BWin_v_Neut_L_NAcc_run1 | 0.40 | 0.11 | [ 0.19, 0.61] | 3.73 | < .001 | 2.00
## Approach =~ BWin_v_Neut_R_NAcc_run1 | 0.32 | 0.10 | [ 0.11, 0.52] | 3.04 | 0.002 | 2.00
## Approach =~ BWin_v_Neut_R_Insula_run1 | 0.23 | 0.10 | [ 0.03, 0.44] | 2.23 | 0.026 | 2.00
## Approach =~ BWin_v_Neut_L_NAcc_run2 | 0.31 | 0.10 | [ 0.12, 0.49] | 3.23 | 0.001 | 2.00
## Approach =~ BWin_v_Neut_R_NAcc_run2 | 0.33 | 0.09 | [ 0.16, 0.50] | 3.80 | < .001 | 2.00
## Approach =~ BWin_v_Neut_R_Insula_run2 | 0.27 | 0.10 | [ 0.08, 0.47] | 2.74 | 0.006 | 2.00
## Approach =~ BWin_v_BLose_L_NAcc_run1 | 0.37 | 0.10 | [ 0.17, 0.56] | 3.71 | < .001 | 2.00
## Approach =~ BWin_v_BLose_R_NAcc_run1 | 0.51 | 0.08 | [ 0.35, 0.67] | 6.29 | < .001 | 2.00
## Approach =~ BWin_v_BLose_L_NAcc_run2 | 0.44 | 0.09 | [ 0.27, 0.61] | 5.10 | < .001 | 2.00
## Approach =~ BWin_v_BLose_R_NAcc_run2 | 0.36 | 0.09 | [ 0.19, 0.54] | 3.99 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_L_Insula_run1 | 0.51 | 0.08 | [ 0.34, 0.67] | 6.14 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_R_Insula_run1 | 0.37 | 0.09 | [ 0.20, 0.53] | 4.24 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_L_Insula_run2 | 0.39 | 0.09 | [ 0.22, 0.56] | 4.38 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_R_Insula_run2 | 0.51 | 0.07 | [ 0.38, 0.64] | 7.65 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_L_Insula_run1 | 0.35 | 0.08 | [ 0.19, 0.51] | 4.24 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_R_Insula_run1 | 0.50 | 0.07 | [ 0.35, 0.64] | 6.64 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_L_Insula_run2 | 0.44 | 0.07 | [ 0.30, 0.58] | 6.24 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_R_Insula_run2 | 0.47 | 0.09 | [ 0.31, 0.64] | 5.55 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_L_Insula_run1 | 0.61 | 0.08 | [ 0.46, 0.76] | 7.97 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_R_Insula_run1 | 0.48 | 0.07 | [ 0.33, 0.62] | 6.40 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_L_Insula_run2 | 0.63 | 0.06 | [ 0.50, 0.75] | 9.85 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_R_Insula_run2 | 0.44 | 0.08 | [ 0.29, 0.59] | 5.74 | < .001 | 2.00
## Approach =~ AWin_v_Neut_L_NAcc_run1 | 0.45 | 0.03 | [ 0.38, 0.51] | 13.11 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_NAcc_run1 | 0.43 | 0.03 | [ 0.37, 0.50] | 13.35 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_Insula_run1 | 0.24 | 0.04 | [ 0.17, 0.31] | 6.69 | < .001 | 3.00
## Approach =~ AWin_v_Neut_L_NAcc_run2 | 0.48 | 0.03 | [ 0.42, 0.55] | 14.87 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_NAcc_run2 | 0.49 | 0.03 | [ 0.44, 0.55] | 17.00 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_Insula_run2 | 0.27 | 0.03 | [ 0.20, 0.34] | 7.91 | < .001 | 3.00
## Approach =~ BWin_v_Neut_L_NAcc_run1 | 0.51 | 0.03 | [ 0.45, 0.56] | 16.98 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_NAcc_run1 | 0.39 | 0.03 | [ 0.32, 0.45] | 12.10 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_Insula_run1 | 0.24 | 0.03 | [ 0.17, 0.31] | 6.99 | < .001 | 3.00
## Approach =~ BWin_v_Neut_L_NAcc_run2 | 0.42 | 0.03 | [ 0.36, 0.48] | 13.20 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_NAcc_run2 | 0.42 | 0.03 | [ 0.36, 0.48] | 13.55 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_Insula_run2 | 0.27 | 0.04 | [ 0.20, 0.35] | 7.45 | < .001 | 3.00
## Approach =~ BWin_v_BLose_L_NAcc_run1 | 0.47 | 0.03 | [ 0.41, 0.53] | 15.00 | < .001 | 3.00
## Approach =~ BWin_v_BLose_R_NAcc_run1 | 0.46 | 0.03 | [ 0.40, 0.53] | 14.42 | < .001 | 3.00
## Approach =~ BWin_v_BLose_L_NAcc_run2 | 0.42 | 0.03 | [ 0.36, 0.48] | 12.84 | < .001 | 3.00
## Approach =~ BWin_v_BLose_R_NAcc_run2 | 0.48 | 0.03 | [ 0.42, 0.55] | 14.99 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_L_Insula_run1 | 0.44 | 0.03 | [ 0.38, 0.51] | 12.82 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_R_Insula_run1 | 0.50 | 0.03 | [ 0.43, 0.56] | 15.48 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_L_Insula_run2 | 0.41 | 0.03 | [ 0.34, 0.47] | 12.44 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_R_Insula_run2 | 0.46 | 0.03 | [ 0.39, 0.52] | 14.14 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_L_Insula_run1 | 0.44 | 0.03 | [ 0.38, 0.51] | 12.90 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_R_Insula_run1 | 0.51 | 0.03 | [ 0.44, 0.57] | 14.46 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_L_Insula_run2 | 0.43 | 0.04 | [ 0.36, 0.50] | 11.76 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_R_Insula_run2 | 0.48 | 0.03 | [ 0.42, 0.55] | 14.05 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_L_Insula_run1 | 0.44 | 0.03 | [ 0.37, 0.51] | 12.62 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_R_Insula_run1 | 0.23 | 0.04 | [ 0.16, 0.30] | 6.18 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_L_Insula_run2 | 0.42 | 0.04 | [ 0.35, 0.49] | 11.89 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_R_Insula_run2 | 0.23 | 0.04 | [ 0.16, 0.31] | 6.25 | < .001 | 3.00
##
## # Correlation
##
## Link | Coefficient | SE | 95% CI | z | p | Group
## ---------------------------------------------------------------------------------
## Approach ~~ Avoid | -0.42 | 0.12 | [-0.65, -0.19] | -3.63 | < .001 | 1.00
## Approach ~~ Avoid | -0.54 | 0.09 | [-0.71, -0.36] | -6.01 | < .001 | 2.00
## Approach ~~ Avoid | -0.57 | 0.03 | [-0.63, -0.51] | -17.66 | < .001 | 3.00
##### Summarizing Metric Multi-group CFA model #####
parameters(metric_cfa, standardize = T)## # Loading
##
## Link | Coefficient | SE | 95% CI | z | p | Group
## ----------------------------------------------------------------------------------------------------------
## Approach =~ AWin_v_Neut_L_NAcc_run1 (.p1.) | 0.43 | 0.05 | [0.33, 0.53] | 8.39 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_NAcc_run1 (.p2.) | 0.43 | 0.06 | [0.32, 0.54] | 7.56 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_Insula_run1 (.p3.) | 0.20 | 0.04 | [0.13, 0.27] | 5.63 | < .001 | 1.00
## Approach =~ AWin_v_Neut_L_NAcc_run2 (.p4.) | 0.46 | 0.05 | [0.36, 0.56] | 9.09 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_NAcc_run2 (.p5.) | 0.46 | 0.05 | [0.36, 0.55] | 9.65 | < .001 | 1.00
## Approach =~ AWin_v_Neut_R_Insula_run2 (.p6.) | 0.23 | 0.04 | [0.14, 0.31] | 5.41 | < .001 | 1.00
## Approach =~ BWin_v_Neut_L_NAcc_run1 (.p7.) | 0.43 | 0.05 | [0.34, 0.53] | 8.94 | < .001 | 1.00
## Approach =~ BWin_v_Neut_R_NAcc_run1 (.p8.) | 0.36 | 0.05 | [0.26, 0.45] | 7.54 | < .001 | 1.00
## Approach =~ BWin_v_Neut_R_Insula_run1 (.p9.) | 0.22 | 0.04 | [0.15, 0.30] | 5.99 | < .001 | 1.00
## Approach =~ BWin_v_Neut_L_NAcc_run2 (.p10.) | 0.39 | 0.05 | [0.30, 0.48] | 8.24 | < .001 | 1.00
## Approach =~ BWin_v_Neut_R_NAcc_run2 (.p11.) | 0.38 | 0.05 | [0.28, 0.47] | 7.77 | < .001 | 1.00
## Approach =~ BWin_v_Neut_R_Insula_run2 (.p12.) | 0.29 | 0.04 | [0.20, 0.38] | 6.53 | < .001 | 1.00
## Approach =~ BWin_v_BLose_L_NAcc_run1 (.p13.) | 0.40 | 0.05 | [0.31, 0.49] | 8.48 | < .001 | 1.00
## Approach =~ BWin_v_BLose_R_NAcc_run1 (.p14.) | 0.45 | 0.05 | [0.36, 0.55] | 9.18 | < .001 | 1.00
## Approach =~ BWin_v_BLose_L_NAcc_run2 (.p15.) | 0.36 | 0.05 | [0.27, 0.45] | 7.80 | < .001 | 1.00
## Approach =~ BWin_v_BLose_R_NAcc_run2 (.p16.) | 0.50 | 0.06 | [0.38, 0.61] | 8.40 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_L_Insula_run1 (.p17.) | 0.47 | 0.05 | [0.37, 0.57] | 9.59 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_R_Insula_run1 (.p18.) | 0.48 | 0.05 | [0.38, 0.58] | 9.33 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_L_Insula_run2 (.p19.) | 0.41 | 0.05 | [0.32, 0.51] | 8.48 | < .001 | 1.00
## Avoid =~ ALose_v_Neut_R_Insula_run2 (.p20.) | 0.44 | 0.05 | [0.34, 0.54] | 8.57 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_L_Insula_run1 (.p21.) | 0.46 | 0.05 | [0.36, 0.55] | 9.63 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_R_Insula_run1 (.p22.) | 0.48 | 0.04 | [0.39, 0.57] | 10.63 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_L_Insula_run2 (.p23.) | 0.40 | 0.04 | [0.32, 0.49] | 9.31 | < .001 | 1.00
## Avoid =~ BLose_v_Neut_R_Insula_run2 (.p24.) | 0.51 | 0.05 | [0.41, 0.61] | 10.19 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_L_Insula_run1 (.p25.) | 0.48 | 0.04 | [0.39, 0.56] | 11.05 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_R_Insula_run1 (.p26.) | 0.30 | 0.04 | [0.21, 0.39] | 6.78 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_L_Insula_run2 (.p27.) | 0.47 | 0.05 | [0.37, 0.56] | 9.97 | < .001 | 1.00
## Avoid =~ BLose_v_BWin_R_Insula_run2 (.p28.) | 0.28 | 0.04 | [0.19, 0.36] | 6.44 | < .001 | 1.00
## Approach =~ AWin_v_Neut_L_NAcc_run1 (.p1.) | 0.42 | 0.04 | [0.33, 0.50] | 9.65 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_NAcc_run1 (.p2.) | 0.44 | 0.05 | [0.34, 0.53] | 9.03 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_Insula_run1 (.p3.) | 0.22 | 0.03 | [0.15, 0.29] | 6.46 | < .001 | 2.00
## Approach =~ AWin_v_Neut_L_NAcc_run2 (.p4.) | 0.44 | 0.04 | [0.35, 0.52] | 10.49 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_NAcc_run2 (.p5.) | 0.44 | 0.04 | [0.37, 0.52] | 10.97 | < .001 | 2.00
## Approach =~ AWin_v_Neut_R_Insula_run2 (.p6.) | 0.22 | 0.03 | [0.16, 0.28] | 7.38 | < .001 | 2.00
## Approach =~ BWin_v_Neut_L_NAcc_run1 (.p7.) | 0.42 | 0.04 | [0.34, 0.51] | 10.00 | < .001 | 2.00
## Approach =~ BWin_v_Neut_R_NAcc_run1 (.p8.) | 0.32 | 0.04 | [0.25, 0.40] | 8.44 | < .001 | 2.00
## Approach =~ BWin_v_Neut_R_Insula_run1 (.p9.) | 0.20 | 0.03 | [0.14, 0.27] | 6.20 | < .001 | 2.00
## Approach =~ BWin_v_Neut_L_NAcc_run2 (.p10.) | 0.38 | 0.04 | [0.30, 0.45] | 9.46 | < .001 | 2.00
## Approach =~ BWin_v_Neut_R_NAcc_run2 (.p11.) | 0.36 | 0.04 | [0.28, 0.44] | 9.06 | < .001 | 2.00
## Approach =~ BWin_v_Neut_R_Insula_run2 (.p12.) | 0.24 | 0.04 | [0.17, 0.32] | 6.51 | < .001 | 2.00
## Approach =~ BWin_v_BLose_L_NAcc_run1 (.p13.) | 0.41 | 0.04 | [0.33, 0.48] | 10.32 | < .001 | 2.00
## Approach =~ BWin_v_BLose_R_NAcc_run1 (.p14.) | 0.45 | 0.04 | [0.36, 0.54] | 10.14 | < .001 | 2.00
## Approach =~ BWin_v_BLose_L_NAcc_run2 (.p15.) | 0.37 | 0.04 | [0.29, 0.45] | 9.01 | < .001 | 2.00
## Approach =~ BWin_v_BLose_R_NAcc_run2 (.p16.) | 0.41 | 0.04 | [0.33, 0.49] | 10.34 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_L_Insula_run1 (.p17.) | 0.48 | 0.05 | [0.39, 0.57] | 10.43 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_R_Insula_run1 (.p18.) | 0.50 | 0.04 | [0.43, 0.58] | 13.51 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_L_Insula_run2 (.p19.) | 0.44 | 0.04 | [0.36, 0.53] | 10.74 | < .001 | 2.00
## Avoid =~ ALose_v_Neut_R_Insula_run2 (.p20.) | 0.53 | 0.04 | [0.45, 0.61] | 12.91 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_L_Insula_run1 (.p21.) | 0.45 | 0.04 | [0.37, 0.53] | 11.26 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_R_Insula_run1 (.p22.) | 0.56 | 0.04 | [0.48, 0.64] | 13.66 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_L_Insula_run2 (.p23.) | 0.46 | 0.04 | [0.38, 0.55] | 10.64 | < .001 | 2.00
## Avoid =~ BLose_v_Neut_R_Insula_run2 (.p24.) | 0.52 | 0.04 | [0.43, 0.60] | 12.04 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_L_Insula_run1 (.p25.) | 0.51 | 0.05 | [0.42, 0.60] | 10.92 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_R_Insula_run1 (.p26.) | 0.33 | 0.05 | [0.23, 0.43] | 6.59 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_L_Insula_run2 (.p27.) | 0.50 | 0.05 | [0.40, 0.59] | 10.01 | < .001 | 2.00
## Avoid =~ BLose_v_BWin_R_Insula_run2 (.p28.) | 0.28 | 0.04 | [0.20, 0.36] | 6.93 | < .001 | 2.00
## Approach =~ AWin_v_Neut_L_NAcc_run1 (.p1.) | 0.45 | 0.03 | [0.39, 0.51] | 14.42 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_NAcc_run1 (.p2.) | 0.46 | 0.03 | [0.40, 0.51] | 15.97 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_Insula_run1 (.p3.) | 0.23 | 0.03 | [0.16, 0.29] | 7.03 | < .001 | 3.00
## Approach =~ AWin_v_Neut_L_NAcc_run2 (.p4.) | 0.49 | 0.03 | [0.43, 0.55] | 16.52 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_NAcc_run2 (.p5.) | 0.48 | 0.03 | [0.43, 0.54] | 17.30 | < .001 | 3.00
## Approach =~ AWin_v_Neut_R_Insula_run2 (.p6.) | 0.24 | 0.03 | [0.17, 0.30] | 7.16 | < .001 | 3.00
## Approach =~ BWin_v_Neut_L_NAcc_run1 (.p7.) | 0.50 | 0.03 | [0.44, 0.55] | 17.20 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_NAcc_run1 (.p8.) | 0.38 | 0.03 | [0.32, 0.44] | 12.64 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_Insula_run1 (.p9.) | 0.24 | 0.03 | [0.17, 0.30] | 7.28 | < .001 | 3.00
## Approach =~ BWin_v_Neut_L_NAcc_run2 (.p10.) | 0.41 | 0.03 | [0.35, 0.47] | 13.61 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_NAcc_run2 (.p11.) | 0.42 | 0.03 | [0.37, 0.48] | 14.80 | < .001 | 3.00
## Approach =~ BWin_v_Neut_R_Insula_run2 (.p12.) | 0.27 | 0.03 | [0.21, 0.34] | 8.27 | < .001 | 3.00
## Approach =~ BWin_v_BLose_L_NAcc_run1 (.p13.) | 0.46 | 0.03 | [0.40, 0.52] | 15.10 | < .001 | 3.00
## Approach =~ BWin_v_BLose_R_NAcc_run1 (.p14.) | 0.47 | 0.03 | [0.42, 0.53] | 16.39 | < .001 | 3.00
## Approach =~ BWin_v_BLose_L_NAcc_run2 (.p15.) | 0.43 | 0.03 | [0.37, 0.49] | 14.26 | < .001 | 3.00
## Approach =~ BWin_v_BLose_R_NAcc_run2 (.p16.) | 0.49 | 0.03 | [0.43, 0.54] | 16.43 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_L_Insula_run1 (.p17.) | 0.46 | 0.03 | [0.40, 0.52] | 15.12 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_R_Insula_run1 (.p18.) | 0.47 | 0.03 | [0.41, 0.53] | 15.57 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_L_Insula_run2 (.p19.) | 0.42 | 0.03 | [0.36, 0.48] | 14.03 | < .001 | 3.00
## Avoid =~ ALose_v_Neut_R_Insula_run2 (.p20.) | 0.46 | 0.03 | [0.40, 0.51] | 16.08 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_L_Insula_run1 (.p21.) | 0.43 | 0.03 | [0.37, 0.49] | 13.74 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_R_Insula_run1 (.p22.) | 0.49 | 0.03 | [0.42, 0.55] | 15.06 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_L_Insula_run2 (.p23.) | 0.40 | 0.03 | [0.34, 0.47] | 12.48 | < .001 | 3.00
## Avoid =~ BLose_v_Neut_R_Insula_run2 (.p24.) | 0.47 | 0.03 | [0.41, 0.53] | 15.11 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_L_Insula_run1 (.p25.) | 0.44 | 0.03 | [0.38, 0.51] | 14.04 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_R_Insula_run1 (.p26.) | 0.27 | 0.03 | [0.21, 0.33] | 8.91 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_L_Insula_run2 (.p27.) | 0.44 | 0.03 | [0.38, 0.50] | 14.73 | < .001 | 3.00
## Avoid =~ BLose_v_BWin_R_Insula_run2 (.p28.) | 0.27 | 0.03 | [0.21, 0.33] | 8.55 | < .001 | 3.00
##
## # Correlation
##
## Link | Coefficient | SE | 95% CI | z | p | Group
## ---------------------------------------------------------------------------------
## Approach ~~ Avoid | -0.40 | 0.11 | [-0.62, -0.18] | -3.61 | < .001 | 1.00
## Approach ~~ Avoid | -0.53 | 0.09 | [-0.71, -0.36] | -6.03 | < .001 | 2.00
## Approach ~~ Avoid | -0.57 | 0.03 | [-0.64, -0.51] | -17.75 | < .001 | 3.00
The below compares whether the complete data (across all three
samples) in the all_cfa model is significantly improved by
the configural invariance model. A significant value indicates that the
configural model is significantly better than the full sample cfa.
anova(all_sample, configural_cfa)## Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
##
## lavaan NOTE:
## The "Chisq" column contains standard test statistics, not the
## robust test that should be reported per model. A robust difference
## test is a function of two standard (not robust) statistics.
##
## Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
## all_sample 349 -21672 -21235 2200.6
## configural_cfa 1047 -21482 -20170 2961.4 777.17 698 0.01964 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Next, anova is used to compare the model improve in AIC/BIC by between the configural and metric invariance. A significantly result in the anova would indicate a significant improvement of the metric model over the configural model.
anova(configural_cfa, metric_cfa)## Scaled Chi-Squared Difference Test (method = "satorra.bentler.2001")
##
## lavaan NOTE:
## The "Chisq" column contains standard test statistics, not the
## robust test that should be reported per model. A robust difference
## test is a function of two standard (not robust) statistics.
##
## Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
## configural_cfa 1047 -21482 -20170 2961.4
## metric_cfa 1099 -21523 -20479 3024.3 53.862 52 0.403
Use semPaths to plot the configural invariance CFA multigroup model
# this plottinig is not function with runs loading onto ROIs
layout(t(1:3))
semPaths(configural_cfa,
color = "lightyellow",
theme="colorblind",
whatLabels = "std",
style = "lisrel",
sizeLat = 10,
sizeLat2 = 10,
sizeMan = 6,
edge.color = "steelblue",
edge.label.cex = 2,
label.cex = 2,
rotation = 2,
layout = "tree2",
intercepts = TRUE,
residuals = FALSE,
#residScale = 10,
curve = 2,
title = T,
title.color = "black",
cardinal = "lat cov",
curvePivot = T,
nCharNodes = 6,
#nodeLabels = label,
mar = c(2,5,2,6))
# Title
title("Multi-group CFA on MID task Contrasts")As described in the manuscript, the restricted CFA may incorrectly account for some measurement error in the items. This may degrade the fit statistics. See Marsh et al. (2014) for an in-depth discussion.
In this case, Exploratory Structural Equation Modeling (ESEM) is used
to fit a CFA pre-specified model that allows for non-zero loadings. The
technique and application of ESEM is available through the psych
esem and esemcomp package. Here,
the esemcomp package is used to fit a model using the steps
described by Mateus Silvestrin here and by Guà rdia-Olmos
et al.. The github code for esemcomp is available here. Below
can be used to download the esemComp package – which worked with R
version 4.2.1 on x86_64-apply-dawin17.0 during September 2022.
devtools::install_github("MateusPsi/esemComp", build_vignettes = TRUE)
First, select the items that are consistent with those in the CFA model
# ordering so can specify numerically
esem_data = brain_set[,c("AWin_v_Neut_L_NAcc_run1" ,"AWin_v_Neut_L_NAcc_run2" ,
"BWin_v_Neut_L_NAcc_run1" ,"BWin_v_Neut_L_NAcc_run2" ,
"BWin_v_BLose_L_NAcc_run1" ,"BWin_v_BLose_L_NAcc_run2",
"AWin_v_Neut_R_NAcc_run1" , "AWin_v_Neut_R_NAcc_run2",
"BWin_v_Neut_R_NAcc_run1" , "BWin_v_Neut_R_NAcc_run2",
"BWin_v_BLose_R_NAcc_run1", "BWin_v_BLose_R_NAcc_run2",
# insula values apprach
"AWin_v_Neut_R_Insula_run1","AWin_v_Neut_R_Insula_run2",
"BWin_v_Neut_R_Insula_run1","BWin_v_Neut_R_Insula_run2",
# avoidance
"ALose_v_Neut_L_Insula_run1","ALose_v_Neut_L_Insula_run2",
"BLose_v_Neut_L_Insula_run1","BLose_v_Neut_L_Insula_run2",
"BLose_v_BWin_L_Insula_run1","BLose_v_BWin_L_Insula_run2",
"ALose_v_Neut_R_Insula_run1","ALose_v_Neut_R_Insula_run2",
"BLose_v_Neut_R_Insula_run1","BLose_v_Neut_R_Insula_run2",
"BLose_v_BWin_R_Insula_run1","BLose_v_BWin_R_Insula_run2",
"set")]As described in March et al. (2014), create a target rotation for
items onto factors. In this case two factors are specified by the CFA
model, so factor 1 and factor 2 are specified in
make_target.
target_rot <- make_target(28,mainloadings = list(f1 = 1:16, f2 = 17:28))
esem.efa <- esem_efa(data = esem_data[,1:28], nfactors = 2,
target = target_rot, fm = "ml")## Loading required namespace: GPArotation
esem.efa$loadings##
## Loadings:
## ML1 ML2
## AWin_v_Neut_L_NAcc_run1 0.421
## AWin_v_Neut_L_NAcc_run2 0.459
## BWin_v_Neut_L_NAcc_run1 0.455
## BWin_v_Neut_L_NAcc_run2 0.414
## BWin_v_BLose_L_NAcc_run1 0.398
## BWin_v_BLose_L_NAcc_run2 0.364
## AWin_v_Neut_R_NAcc_run1 0.516
## AWin_v_Neut_R_NAcc_run2 0.564 0.112
## BWin_v_Neut_R_NAcc_run1 0.391
## BWin_v_Neut_R_NAcc_run2 0.419
## BWin_v_BLose_R_NAcc_run1 0.450
## BWin_v_BLose_R_NAcc_run2 0.461
## AWin_v_Neut_R_Insula_run1 0.204
## AWin_v_Neut_R_Insula_run2 0.226
## BWin_v_Neut_R_Insula_run1 0.245
## BWin_v_Neut_R_Insula_run2 0.255
## ALose_v_Neut_L_Insula_run1 0.470
## ALose_v_Neut_L_Insula_run2 0.435
## BLose_v_Neut_L_Insula_run1 0.450
## BLose_v_Neut_L_Insula_run2 0.431
## BLose_v_BWin_L_Insula_run1 0.462
## BLose_v_BWin_L_Insula_run2 0.451
## ALose_v_Neut_R_Insula_run1 0.466
## ALose_v_Neut_R_Insula_run2 0.427
## BLose_v_Neut_R_Insula_run1 0.502
## BLose_v_Neut_R_Insula_run2 0.489
## BLose_v_BWin_R_Insula_run1 0.228
## BLose_v_BWin_R_Insula_run2 0.215
##
## ML1 ML2
## SS loadings 2.616 2.243
## Proportion Var 0.093 0.080
## Cumulative Var 0.093 0.174
Using item that loads highest on factor 1 and lowest on factor 2 and
vice versa, and define as anchor using find_referents
# per the example from Mateus Silverstrin, need to define anchor for each factor (value to loads highers on 1 factor and lowest on other)
anchor <- find_referents(efa_object = esem.efa,factor_names = c("f1","f2"))Once the esem efa and anchors are defined, use
syntax_composer to specied the esem model. This will
produce a lavaan specified model that references starting values that
will be used in the cfa model
# Pull starting parameters
esem_mid_model <- syntax_composer(efa_object = esem.efa, referents = anchor)The starting values are printed below to provide reference for how starting values differ from a strict CFA model. Notice, how some values that were original not fit onto the Approach factor (f1), such as big lose contrasts, they are now specified with loading values that are between .05 to -.05.
cat(esem_mid_model)## f1 =~ start(0.421)*AWin_v_Neut_L_NAcc_run1+
## start(0.459)*AWin_v_Neut_L_NAcc_run2+
## start(0.455)*BWin_v_Neut_L_NAcc_run1+
## start(0.414)*BWin_v_Neut_L_NAcc_run2+
## start(0.398)*BWin_v_BLose_L_NAcc_run1+
## start(0.364)*BWin_v_BLose_L_NAcc_run2+
## start(0.516)*AWin_v_Neut_R_NAcc_run1+
## start(0.564)*AWin_v_Neut_R_NAcc_run2+
## start(0.391)*BWin_v_Neut_R_NAcc_run1+
## start(0.419)*BWin_v_Neut_R_NAcc_run2+
## start(0.45)*BWin_v_BLose_R_NAcc_run1+
## start(0.461)*BWin_v_BLose_R_NAcc_run2+
## start(0.204)*AWin_v_Neut_R_Insula_run1+
## start(0.226)*AWin_v_Neut_R_Insula_run2+
## start(0.245)*BWin_v_Neut_R_Insula_run1+
## start(0.255)*BWin_v_Neut_R_Insula_run2+
## start(0.012)*ALose_v_Neut_L_Insula_run1+
## start(0.016)*ALose_v_Neut_L_Insula_run2+
## start(0.012)*BLose_v_Neut_L_Insula_run1+
## start(0.025)*BLose_v_Neut_L_Insula_run2+
## start(0.01)*BLose_v_BWin_L_Insula_run1+
## start(0)*BLose_v_BWin_L_Insula_run2+
## start(-0.019)*ALose_v_Neut_R_Insula_run1+
## start(-0.054)*ALose_v_Neut_R_Insula_run2+
## 0.004*BLose_v_Neut_R_Insula_run1+
## start(0.009)*BLose_v_Neut_R_Insula_run2+
## start(-0.058)*BLose_v_BWin_R_Insula_run1+
## start(-0.073)*BLose_v_BWin_R_Insula_run2
##
## f2 =~ start(-0.034)*AWin_v_Neut_L_NAcc_run1+
## start(-0.034)*AWin_v_Neut_L_NAcc_run2+
## start(-0.037)*BWin_v_Neut_L_NAcc_run1+
## start(0.019)*BWin_v_Neut_L_NAcc_run2+
## start(-0.063)*BWin_v_BLose_L_NAcc_run1+
## start(-0.084)*BWin_v_BLose_L_NAcc_run2+
## start(0.079)*AWin_v_Neut_R_NAcc_run1+
## 0.112*AWin_v_Neut_R_NAcc_run2+
## start(0.03)*BWin_v_Neut_R_NAcc_run1+
## start(0.011)*BWin_v_Neut_R_NAcc_run2+
## start(-0.029)*BWin_v_BLose_R_NAcc_run1+
## start(-0.02)*BWin_v_BLose_R_NAcc_run2+
## start(-0.03)*AWin_v_Neut_R_Insula_run1+
## start(-0.012)*AWin_v_Neut_R_Insula_run2+
## start(0.021)*BWin_v_Neut_R_Insula_run1+
## start(-0.026)*BWin_v_Neut_R_Insula_run2+
## start(0.47)*ALose_v_Neut_L_Insula_run1+
## start(0.435)*ALose_v_Neut_L_Insula_run2+
## start(0.45)*BLose_v_Neut_L_Insula_run1+
## start(0.431)*BLose_v_Neut_L_Insula_run2+
## start(0.462)*BLose_v_BWin_L_Insula_run1+
## start(0.451)*BLose_v_BWin_L_Insula_run2+
## start(0.466)*ALose_v_Neut_R_Insula_run1+
## start(0.427)*ALose_v_Neut_R_Insula_run2+
## start(0.502)*BLose_v_Neut_R_Insula_run1+
## start(0.489)*BLose_v_Neut_R_Insula_run2+
## start(0.228)*BLose_v_BWin_R_Insula_run1+
## start(0.215)*BLose_v_BWin_R_Insula_run2
After the EFA loadings are extracted using a target rotation, starting values are now available. These are now used to specify a less restrictive CFA model
esem_mid_fit<- cfa(esem_mid_model, esem_data[,1:28], std.lv=TRUE, meanstructure = TRUE,
estimator = "MLR")Pull and add fit statistics to the out dataframe and
print results to see decreases in AIC/BIC
# adding values to the CFA model fit indices
out[4,2:8] <- round(data.matrix(fitmeasures(esem_mid_fit,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi","tli", "srmr"))),
digits=3)
out[4,9] <- round(AIC(esem_mid_fit),3)
out[4,10] <- round(BIC(esem_mid_fit),3)
out[4,1] <- c("Overall ESEM")
out <- as.data.frame(out)
out %>%
knitr::kable(
col.names = c("Model", "Chi-sq", "DF", "p value", "RMSEA", "CFI", "TLI","SRMR", "AIC", "BIC"),
caption = "Fit statistics from MG-CFA and ESEM models",
booktabs = TRUE
)| Model | Chi-sq | DF | p value | RMSEA | CFI | TLI | SRMR | AIC | BIC |
|---|---|---|---|---|---|---|---|---|---|
| Overall CFA | 2200.622 | 349 | 0 | 0.065 | 0.657 | 0.628 | 0.053 | -21672.085 | -21234.81 |
| Configg MG-CFA | 2961.409 | 1047 | 0 | 0.066 | 0.65 | 0.621 | 0.06 | -21482.229 | -20170.405 |
| Metric MG-CFA | 3024.264 | 1099 | 0 | 0.064 | 0.648 | 0.637 | 0.062 | -21523.374 | -20479.059 |
| Overall ESEM | 2174.511 | 323 | 0 | 0.067 | 0.657 | 0.598 | 0.052 | -21646.197 | -21075.167 |
Here, a data-driven exploratory factor analysis is performed as implemented using the (https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/factanal)[https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/factanal] in the stats package. The same variables as in the CFA and ESEM dataset are used. A tutorial from Nilam Ram on EFA is also available here
Used the (factanal)[https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/factanal]
to run EFA model. Specifying the number of factors and using the
promax (non-orthogonal) rotation.
abcd_efa_df <- esem_data %>% filter(set == 1)
mls_efa_df <- esem_data %>% filter(set == 2)
ahrb_efa_df <- esem_data %>% filter(set == 3)A number of methods can be used to estimate the recommended data driven factors in the data. There are nuanced differences in calculations between packages and methods. Therefore, a number of packages are used to acquire consistent evidence to acquire the most parsimonious model.
Using nFactors package see the recommended factors for the EFA model using a number of models.
fa_abcd <- subset(abcd_efa_df[,1:28])plot(nScree(x=fa_abcd,model="factors"))To avoid biasing of packages in different calculations of recommendation factors that depend on strong correlations between bilateral regions by using parallel analysis. Parallel analysis is also implemented using the paran package.
paran(x = fa_abcd,
iterations = 1000, quietly = FALSE, centile = 95,
status = FALSE, all = TRUE, cfa = TRUE, graph = TRUE, color = TRUE,
col = c("black", "red", "blue"), lty = c(1, 2, 3), lwd = 1, legend = TRUE,
seed = 100)##
## Using eigendecomposition of correlation matrix.
##
## Results of Horn's Parallel Analysis for factor retention
## 1000 iterations, using the 95 centile estimate
##
## --------------------------------------------------
## Factor Adjusted Unadjusted Estimated
## Eigenvalue Eigenvalue Bias
## --------------------------------------------------
## No components passed.
## --------------------------------------------------
## 1 3.542178 3.934015 0.391836
## 2 0.775202 1.111071 0.335869
## 3 0.313670 0.613506 0.299835
## 4 0.313864 0.580679 0.266815
## 5 0.271159 0.509467 0.238307
## 6 0.287997 0.500248 0.212250
## 7 0.272560 0.460549 0.187988
## 8 0.214122 0.380351 0.166228
## 9 0.218417 0.361595 0.143178
## 10 0.169955 0.291872 0.121916
## 11 0.141768 0.244225 0.102457
## 12 0.140901 0.223414 0.082512
## 13 0.148606 0.210788 0.062181
## 14 0.125450 0.168313 0.042863
## 15 -0.122634 -0.09868 0.023946
## 16 -0.129530 -0.12376 0.005761
## 17 -0.126362 -0.13831 -0.01194
## 18 -0.130790 -0.16166 -0.03087
## 19 -0.121125 -0.16974 -0.04861
## 20 -0.108212 -0.17507 -0.06685
## 21 -0.093136 -0.17720 -0.08406
## 22 -0.095347 -0.19714 -0.10179
## 23 -0.110512 -0.23053 -0.12002
## 24 -0.109017 -0.24716 -0.13814
## 25 -0.092890 -0.25014 -0.15725
## 26 -0.090723 -0.26576 -0.17504
## 27 -0.077950 -0.27668 -0.19873
## 28 -0.077263 -0.30109 -0.22383
## --------------------------------------------------
##
## Adjusted eigenvalues > 0 indicate dimensions to retain.
## (14 factors retained)
Comparing the above with the BIC comparison of an EFA model to determine the best fitting model based on fit statistics. Factor Analysis is submitted across a range of factors, e.g., 1-5, and the BIC is extracted from the model to determine the optimal number of factors
abcd_rec_factors <- matrix(NA, ncol = 2, nrow = 20)
colnames(abcd_rec_factors) <- c("Nfactors","BIC")
for (f in 1:20) {
test_fac <- fa(r = fa_abcd, #raw data
nfactors = f, fm = 'minres',
rotate = "oblimin")
abcd_rec_factors[f,1] <- f
abcd_rec_factors[f,2] <-test_fac$BIC
}## Warning in GPFoblq(L, Tmat = Tmat, normalize = normalize, eps = eps, maxit =
## maxit, : convergence not obtained in GPFoblq. 1000 iterations used.
## Warning in GPFoblq(L, Tmat = Tmat, normalize = normalize, eps = eps, maxit =
## maxit, : convergence not obtained in GPFoblq. 1000 iterations used.
## Warning in GPFoblq(L, Tmat = Tmat, normalize = normalize, eps = eps, maxit =
## maxit, : convergence not obtained in GPFoblq. 1000 iterations used.
## Warning in GPFoblq(L, Tmat = Tmat, normalize = normalize, eps = eps, maxit =
## maxit, : convergence not obtained in GPFoblq. 1000 iterations used.
abcd_bic_fact = as.data.frame(abcd_rec_factors)abcd_lowest_bic <- which.min(abcd_bic_fact$BIC)
abcd_bic_fact %>%
ggplot(aes(x = Nfactors, y = BIC)) +
geom_line(colour = 'black', linetype = 'dashed') +
geom_vline(xintercept = abcd_bic_fact$Nfactors[abcd_lowest_bic], colour = 'red')+
theme_minimal()Running EFA
abcd_efa <- factanal(x = fa_abcd, #raw data
factors = 2, fm ='minres', rotation = "promax" # oblique rotation allow for non-orthogonal structure
)heatmaply(round(abcd_efa$loadings[,1:2],2) %>% print(sort = T),
scale_fill_gradient_fun = ggplot2::scale_fill_gradient2(
low = "blue",
high = "darkred",
space = "Lab",
midpoint = 0,
limits = c(-1, 1)
),
dendrogram = "none",
xlab = "", ylab = "",
main = "",
margins = c(60,100,40,20),
grid_color = "white",
grid_width = 0.00001,
titleX = FALSE,
hide_colorbar = FALSE,
branches_lwd = 0.1,
label_names = c("Brain:", "Feature:", "Value"),
fontsize_row = 9, fontsize_col = 9,
labCol = colnames(abcd_efa$loadings[,1:2]),
labRow = rownames(abcd_efa$loadings[,1:2]),
heatmap_layers = theme(axis.line=element_blank()),
)## Factor1 Factor2
## AWin_v_Neut_L_NAcc_run1 0.40 -0.06
## AWin_v_Neut_L_NAcc_run2 0.45 -0.04
## BWin_v_Neut_L_NAcc_run1 0.47 -0.04
## BWin_v_Neut_L_NAcc_run2 0.41 -0.01
## BWin_v_BLose_L_NAcc_run1 0.42 -0.07
## BWin_v_BLose_L_NAcc_run2 0.37 -0.07
## AWin_v_Neut_R_NAcc_run1 0.54 0.12
## AWin_v_Neut_R_NAcc_run2 0.61 0.14
## BWin_v_Neut_R_NAcc_run1 0.39 0.01
## BWin_v_Neut_R_NAcc_run2 0.41 -0.01
## BWin_v_BLose_R_NAcc_run1 0.44 -0.04
## BWin_v_BLose_R_NAcc_run2 0.49 0.00
## AWin_v_Neut_R_Insula_run1 0.21 -0.04
## AWin_v_Neut_R_Insula_run2 0.25 -0.03
## BWin_v_Neut_R_Insula_run1 0.23 -0.01
## BWin_v_Neut_R_Insula_run2 0.22 -0.08
## ALose_v_Neut_L_Insula_run1 0.03 0.46
## ALose_v_Neut_L_Insula_run2 0.03 0.42
## BLose_v_Neut_L_Insula_run1 0.05 0.48
## BLose_v_Neut_L_Insula_run2 0.05 0.46
## BLose_v_BWin_L_Insula_run1 0.03 0.46
## BLose_v_BWin_L_Insula_run2 0.02 0.43
## ALose_v_Neut_R_Insula_run1 0.00 0.50
## ALose_v_Neut_R_Insula_run2 -0.01 0.44
## BLose_v_Neut_R_Insula_run1 0.02 0.51
## BLose_v_Neut_R_Insula_run2 0.04 0.50
## BLose_v_BWin_R_Insula_run1 -0.06 0.18
## BLose_v_BWin_R_Insula_run2 -0.06 0.18
## Warning: `gather_()` was deprecated in tidyr 1.2.0.
## ℹ Please use `gather()` instead.
## ℹ The deprecated feature was likely used in the plotly package.
## Please report the issue at <https://github.com/plotly/plotly.R/issues>.
fa_mls <- subset(mls_efa_df[,1:28])plot(nScree(x=fa_mls,model="factors"))paran(x = fa_mls,
iterations = 1000, quietly = FALSE, centile = 95,
status = FALSE, all = TRUE, cfa = TRUE, graph = TRUE, color = TRUE,
col = c("black", "red", "blue"), lty = c(1, 2, 3), lwd = 1, legend = TRUE,
seed = 100)##
## Using eigendecomposition of correlation matrix.
##
## Results of Horn's Parallel Analysis for factor retention
## 1000 iterations, using the 95 centile estimate
##
## --------------------------------------------------
## Factor Adjusted Unadjusted Estimated
## Eigenvalue Eigenvalue Bias
## --------------------------------------------------
## 1 2.831197 4.041832 1.210634
## 2 0.383345 1.415416 1.032070
## 3 0.170152 1.081438 0.911286
## 4 0.169402 0.976468 0.807066
## 5 0.161286 0.886233 0.724946
## 6 0.110471 0.757309 0.646837
## 7 0.051888 0.631413 0.579524
## 8 0.072342 0.588307 0.515965
## 9 0.009946 0.458769 0.448823
## 10 0.032104 0.421235 0.389130
## 11 0.032538 0.363316 0.330777
## 12 -0.042810 0.232814 0.275625
## 13 -0.013344 0.211961 0.225305
## 14 0.014754 0.191760 0.177006
## 15 -0.039773 0.090890 0.130663
## 16 -0.049639 0.036074 0.085713
## 17 -0.040487 -0.00265 0.037831
## 18 -0.066096 -0.07167 -0.00558
## 19 -0.084986 -0.13281 -0.04782
## 20 -0.056403 -0.14665 -0.09025
## 21 -0.037420 -0.16846 -0.13104
## 22 -0.014872 -0.18121 -0.16634
## 23 0.011672 -0.19418 -0.20586
## 24 0.011884 -0.23185 -0.24374
## 25 -0.019505 -0.29958 -0.28007
## 26 0.010809 -0.30709 -0.31790
## 27 0.003662 -0.35286 -0.35652
## 28 0.008372 -0.39046 -0.39884
## --------------------------------------------------
##
## Adjusted eigenvalues > 0 indicate dimensions to retain.
## (11 factors retained)
mls_rec_factors <- matrix(NA, ncol = 2, nrow = 10)
colnames(mls_rec_factors) <- c("Nfactors","BIC")
for (f in 1:10) {
test_fac <- fa(r = fa_mls, #raw data
nfactors = f, fm = 'minres',
rotate = "promax")
mls_rec_factors[f,1] <- f
mls_rec_factors[f,2] <-test_fac$BIC
}
mls_bic_fact = as.data.frame(mls_rec_factors)mls_lowest_bic <- which.min(mls_bic_fact$BIC)
mls_bic_fact %>%
ggplot(aes(x = Nfactors, y = BIC)) +
geom_line(colour = 'black', linetype = 'dashed') +
geom_vline(xintercept = mls_bic_fact$Nfactors[mls_lowest_bic], colour = 'red')+
theme_minimal()MLS factor analysis
mls_efa <- factanal(x = fa_mls, #raw data
factors = 3, rotation = "promax" # oblique rotation allow for non-orthogonal structure
)heatmaply(round(mls_efa$loadings[,1:3],2) %>% print(sort = T),
scale_fill_gradient_fun = ggplot2::scale_fill_gradient2(
low = "blue",
high = "darkred",
space = "Lab",
midpoint = 0,
limits = c(-1, 1)
),
dendrogram = "none",
xlab = "", ylab = "",
main = "",
margins = c(60,100,40,20),
grid_color = "white",
grid_width = 0.00001,
titleX = FALSE,
hide_colorbar = FALSE,
branches_lwd = 0.1,
label_names = c("Brain:", "Feature:", "Value"),
fontsize_row = 9, fontsize_col = 9,
labCol = colnames(mls_efa$loadings[,1:3]),
labRow = rownames(mls_efa$loadings[,1:3]),
heatmap_layers = theme(axis.line=element_blank()),
)## Factor1 Factor2 Factor3
## AWin_v_Neut_L_NAcc_run1 0.55 0.25 -0.02
## AWin_v_Neut_L_NAcc_run2 0.51 0.06 -0.03
## BWin_v_Neut_L_NAcc_run1 0.42 0.04 -0.01
## BWin_v_Neut_L_NAcc_run2 0.33 0.07 0.00
## BWin_v_BLose_L_NAcc_run1 0.32 -0.06 0.07
## BWin_v_BLose_L_NAcc_run2 0.27 -0.12 -0.10
## AWin_v_Neut_R_NAcc_run1 0.68 -0.05 0.30
## AWin_v_Neut_R_NAcc_run2 0.51 -0.19 0.42
## BWin_v_Neut_R_NAcc_run1 0.42 0.19 -0.05
## BWin_v_Neut_R_NAcc_run2 0.29 0.00 -0.04
## BWin_v_BLose_R_NAcc_run1 0.53 0.15 -0.20
## BWin_v_BLose_R_NAcc_run2 0.28 0.02 -0.24
## AWin_v_Neut_R_Insula_run1 0.13 -0.13 0.12
## AWin_v_Neut_R_Insula_run2 0.01 -0.13 0.22
## BWin_v_Neut_R_Insula_run1 0.30 -0.02 0.22
## BWin_v_Neut_R_Insula_run2 0.30 -0.04 0.15
## ALose_v_Neut_L_Insula_run1 -0.01 0.42 0.13
## ALose_v_Neut_L_Insula_run2 0.04 0.30 0.18
## BLose_v_Neut_L_Insula_run1 0.03 0.05 0.56
## BLose_v_Neut_L_Insula_run2 0.06 0.16 0.54
## BLose_v_BWin_L_Insula_run1 0.16 0.87 -0.11
## BLose_v_BWin_L_Insula_run2 0.02 0.65 0.05
## ALose_v_Neut_R_Insula_run1 0.14 0.42 0.09
## ALose_v_Neut_R_Insula_run2 -0.09 0.46 0.00
## BLose_v_Neut_R_Insula_run1 -0.11 0.23 0.28
## BLose_v_Neut_R_Insula_run2 -0.16 0.17 0.29
## BLose_v_BWin_R_Insula_run1 -0.07 0.38 0.05
## BLose_v_BWin_R_Insula_run2 -0.23 0.35 -0.12
fa_ahrb <- subset(ahrb_efa_df[,1:28])plot(nScree(x=fa_ahrb,model="factors"))paran(x = fa_ahrb,
iterations = 1000, quietly = FALSE, centile = 95,
status = FALSE, all = TRUE, cfa = TRUE, graph = TRUE, color = TRUE,
col = c("black", "red", "blue"), lty = c(1, 2, 3), lwd = 1, legend = TRUE,
seed = 100)##
## Using eigendecomposition of correlation matrix.
##
## Results of Horn's Parallel Analysis for factor retention
## 1000 iterations, using the 95 centile estimate
##
## --------------------------------------------------
## Factor Adjusted Unadjusted Estimated
## Eigenvalue Eigenvalue Bias
## --------------------------------------------------
## 1 2.060093 3.621941 1.561847
## 2 0.481724 1.810384 1.328660
## 3 0.076629 1.242826 1.166197
## 4 0.189243 1.228597 1.039354
## 5 -0.009360 0.929113 0.938474
## 6 -0.050147 0.785260 0.835407
## 7 0.030826 0.765686 0.734860
## 8 0.030113 0.684464 0.654351
## 9 0.068039 0.646615 0.578576
## 10 0.031492 0.535404 0.503911
## 11 -0.050998 0.383378 0.434377
## 12 -0.061551 0.305570 0.367122
## 13 -0.045811 0.260598 0.306410
## 14 -0.087183 0.158940 0.246124
## 15 -0.048996 0.140764 0.189761
## 16 -0.047886 0.083183 0.131069
## 17 -0.083831 -0.00786 0.075962
## 18 -0.090172 -0.06397 0.026192
## 19 -0.083539 -0.10575 -0.02221
## 20 -0.034889 -0.10723 -0.07234
## 21 -0.004630 -0.12541 -0.12078
## 22 0.002853 -0.16359 -0.16644
## 23 -0.014767 -0.22211 -0.20734
## 24 0.009603 -0.23872 -0.24833
## 25 -0.014051 -0.30408 -0.29003
## 26 0.012237 -0.31880 -0.33104
## 27 0.033983 -0.33629 -0.37027
## 28 0.028916 -0.37918 -0.40809
## --------------------------------------------------
##
## Adjusted eigenvalues > 0 indicate dimensions to retain.
## (4 factors retained)
ahrb_rec_factors <- matrix(NA, ncol = 2, nrow = 10)
colnames(ahrb_rec_factors) <- c("Nfactors","BIC")
for (f in 1:10) {
test_fac <- fa(r = fa_ahrb, #raw data
nfactors = f, fm = 'minres',
rotate = "promax")
ahrb_rec_factors[f,1] <- f
ahrb_rec_factors[f,2] <-test_fac$BIC
}
ahrb_bic_fact = as.data.frame(ahrb_rec_factors)ahrb_lowest_bic <- which.min(ahrb_bic_fact$BIC)
ahrb_bic_fact %>%
ggplot(aes(x = Nfactors, y = BIC)) +
geom_line(colour = 'black', linetype = 'dashed') +
geom_vline(xintercept = ahrb_bic_fact$Nfactors[ahrb_lowest_bic], colour = 'red')+
theme_minimal()Factor Analysis Model
ahrb_efa <- factanal(x = fa_ahrb, #raw data
factors = 4, rotation = "promax" # oblique rotation allow for non-orthogonal structure
)heatmaply(round(ahrb_efa$loadings[,1:4],2) %>% print(sort = T),
scale_fill_gradient_fun = ggplot2::scale_fill_gradient2(
low = "blue",
high = "darkred",
space = "Lab",
midpoint = 0,
limits = c(-1, 1)
),
dendrogram = "none",
xlab = "", ylab = "",
main = "",
margins = c(60,100,40,20),
grid_color = "white",
grid_width = 0.00001,
titleX = FALSE,
hide_colorbar = FALSE,
branches_lwd = 0.1,
label_names = c("Brain:", "Feature:", "Value"),
fontsize_row = 9, fontsize_col = 9,
labCol = colnames(ahrb_efa$loadings[,1:4]),
labRow = rownames(ahrb_efa$loadings[,1:4]),
heatmap_layers = theme(axis.line=element_blank()),
)## Factor1 Factor2 Factor3 Factor4
## AWin_v_Neut_L_NAcc_run1 -0.24 0.51 -0.09 -0.04
## AWin_v_Neut_L_NAcc_run2 0.03 0.72 -0.12 -0.11
## BWin_v_Neut_L_NAcc_run1 -0.01 0.19 0.13 -0.21
## BWin_v_Neut_L_NAcc_run2 -0.09 0.39 -0.11 0.14
## BWin_v_BLose_L_NAcc_run1 -0.39 0.00 0.11 0.22
## BWin_v_BLose_L_NAcc_run2 -0.13 0.02 0.44 0.05
## AWin_v_Neut_R_NAcc_run1 -0.40 0.27 0.03 0.12
## AWin_v_Neut_R_NAcc_run2 -0.23 0.10 0.21 0.23
## BWin_v_Neut_R_NAcc_run1 0.20 -0.25 0.93 -0.14
## BWin_v_Neut_R_NAcc_run2 0.25 0.26 0.59 -0.05
## BWin_v_BLose_R_NAcc_run1 -0.08 0.38 0.08 0.13
## BWin_v_BLose_R_NAcc_run2 -0.13 0.22 0.29 -0.09
## AWin_v_Neut_R_Insula_run1 -0.07 0.21 -0.06 0.09
## AWin_v_Neut_R_Insula_run2 0.26 0.23 0.22 -0.11
## BWin_v_Neut_R_Insula_run1 0.21 0.49 -0.22 -0.15
## BWin_v_Neut_R_Insula_run2 0.17 0.39 0.04 0.04
## ALose_v_Neut_L_Insula_run1 0.51 0.16 -0.10 0.19
## ALose_v_Neut_L_Insula_run2 0.46 0.15 -0.14 0.24
## BLose_v_Neut_L_Insula_run1 0.51 -0.12 0.13 0.09
## BLose_v_Neut_L_Insula_run2 0.30 0.02 0.13 0.03
## BLose_v_BWin_L_Insula_run1 -0.02 -0.17 -0.04 0.49
## BLose_v_BWin_L_Insula_run2 0.09 -0.13 -0.05 0.49
## ALose_v_Neut_R_Insula_run1 0.66 -0.01 0.24 0.09
## ALose_v_Neut_R_Insula_run2 0.47 -0.23 0.18 0.19
## BLose_v_Neut_R_Insula_run1 0.18 0.01 0.03 0.49
## BLose_v_Neut_R_Insula_run2 0.15 0.04 -0.17 0.55
## BLose_v_BWin_R_Insula_run1 0.21 -0.13 -0.02 0.19
## BLose_v_BWin_R_Insula_run2 0.23 0.03 -0.07 0.25
Calculating a coefficient of factor congruence across the three sample’s EFA models. Using function fa.congruence
fa.congruence(x = list(abcd_efa, mls_efa, ahrb_efa), digits = 2) %>%
knitr::kable(
col.names = c("1. ABCD F1", "2. ABCD F2",
"3. MLS F1", "4. MLS F2","5. MLS F3",
"6. AHRB F1", "7. AHRB F2","8. AHRB F3", "8. AHRB F4"),
caption = "ABCD, MLS and AHRB EFA Factor Congruence",
booktabs = TRUE
)| 1. ABCD F1 | 2. ABCD F2 | 3. MLS F1 | 4. MLS F2 | 5. MLS F3 | 6. AHRB F1 | 7. AHRB F2 | 8. AHRB F3 | 8. AHRB F4 | |
|---|---|---|---|---|---|---|---|---|---|
| Factor1 | 1.00 | 0.03 | 0.94 | 0.03 | 0.20 | -0.17 | 0.68 | 0.47 | 0.07 |
| Factor2 | 0.03 | 1.00 | -0.02 | 0.76 | 0.58 | 0.68 | -0.11 | 0.04 | 0.77 |
| Factor1 | 0.94 | -0.02 | 1.00 | 0.07 | 0.15 | -0.21 | 0.68 | 0.38 | -0.01 |
| Factor2 | 0.03 | 0.76 | 0.07 | 1.00 | 0.05 | 0.51 | -0.07 | 0.02 | 0.67 |
| Factor3 | 0.20 | 0.58 | 0.15 | 0.05 | 1.00 | 0.37 | 0.13 | 0.00 | 0.34 |
| Factor1 | -0.17 | 0.68 | -0.21 | 0.51 | 0.37 | 1.00 | -0.06 | 0.17 | 0.22 |
| Factor2 | 0.68 | -0.11 | 0.68 | -0.07 | 0.13 | -0.06 | 1.00 | -0.12 | -0.09 |
| Factor3 | 0.47 | 0.04 | 0.38 | 0.02 | 0.00 | 0.17 | -0.12 | 1.00 | -0.13 |
| Factor4 | 0.07 | 0.77 | -0.01 | 0.67 | 0.34 | 0.22 | -0.09 | -0.13 | 1.00 |
Running CFA for the pubertal variables in the ABCD sample using the local SEM framework described in Olaru et al (2020) implemented using the sirt package
Specifying the model for the ABCD data below. For now, using the CFA model. In future [real data] implementation, will apply the EFA CFA from n = 1000 ABCD sample in the held out n = 1000 ABCD sample. Piloting on the simulated PDS scale
#first adding random PDS variable
set.seed(110)
sim_ABCD_data$PDS <- as.integer(rtnorm(n=1000, mean = 3.5, sd = 1.5,
lower = 1, upper = 7))
lsem.MID <- sirt::lsem.estimate(data = sim_ABCD_data, moderator = 'PDS', # moderator variable
moderator.grid = seq(1,5,1), # moderator levels, PDS 1 - 5
lavmodel = MID_model, # model
h = 2, # bandwidth parameter
residualize = FALSE, # allow mean level differences
meanstructure = TRUE,
std.lv=TRUE
)## ** Fit lavaan model
## |*****|
## |-----|
## ** Parameter summary
Summarizing output of the lsem.estimate
summary(lsem.MID)## -----------------------------------------------------------------
## Local Structural Equation Model
##
## sirt 3.12-66 (2022-05-16 12:27:54)
## lavaan 0.6-12 (2022-07-04 16:40:02 UTC)
##
## R version 4.2.1 (2022-06-23) x86_64, darwin17.0 | nodename=Michaels-MacBook-Pro.local | login=root
##
## Function 'sirt::lsem.estimate', type='LSEM'
##
##
## Call:
## sirt::lsem.estimate(data = sim_ABCD_data, moderator = "PDS",
## moderator.grid = seq(1, 5, 1), lavmodel = MID_model, h = 2,
## residualize = FALSE, meanstructure = TRUE, std.lv = TRUE)
##
## Date of Analysis: 2022-11-11 11:26:51
## Time difference of 5.015015 secs
## Computation Time: 5.015015
##
## Number of observations in datasets = 1000
## Used observations in analysis = 1000
## Used sampling weights: FALSE
## Bandwidth factor = 2
## Bandwidth = 0.648
## Number of focal points for moderator = 5
##
## Used joint estimation: FALSE
## Used sufficient statistics: FALSE
## Used local linear smoothing: FALSE
## Used pseudo weights: FALSE
## Used lavaan package: TRUE
## Used lavaan.survey package: FALSE
##
## Mean structure modelled: TRUE
##
## lavaan Model
##
##
## # Factor loadings
## Approach =~ AWin_v_Neut_L_NAcc_run1 + AWin_v_Neut_R_NAcc_run1 + AWin_v_Neut_R_Insula_run1 +
## AWin_v_Neut_L_NAcc_run2 + AWin_v_Neut_R_NAcc_run2 + AWin_v_Neut_R_Insula_run2 +
## BWin_v_Neut_L_NAcc_run1 + BWin_v_Neut_R_NAcc_run1 + BWin_v_Neut_R_Insula_run1 +
## BWin_v_Neut_L_NAcc_run2 + BWin_v_Neut_R_NAcc_run2 + BWin_v_Neut_R_Insula_run2 +
## BWin_v_BLose_L_NAcc_run1 + BWin_v_BLose_R_NAcc_run1 +
## BWin_v_BLose_L_NAcc_run2 + BWin_v_BLose_R_NAcc_run2
##
## Avoid =~ ALose_v_Neut_L_Insula_run1 + ALose_v_Neut_R_Insula_run1 +
## ALose_v_Neut_L_Insula_run2 + ALose_v_Neut_R_Insula_run2 +
## BLose_v_Neut_L_Insula_run1 + BLose_v_Neut_R_Insula_run1 +
## BLose_v_Neut_L_Insula_run2 + BLose_v_Neut_R_Insula_run2 +
## BLose_v_BWin_L_Insula_run1 + BLose_v_BWin_R_Insula_run1 +
## BLose_v_BWin_L_Insula_run2 + BLose_v_BWin_R_Insula_run2
##
##
## Parameter Estimate Summary
##
## par parindex M SD
## 1 Approach=~AWin_v_Neut_L_NAcc_run1 1 0.082 0.006
## 2 Approach=~AWin_v_Neut_R_NAcc_run1 2 0.086 0.004
## 3 Approach=~AWin_v_Neut_R_Insula_run1 3 0.041 0.004
## 4 Approach=~AWin_v_Neut_L_NAcc_run2 4 0.090 0.002
## 5 Approach=~AWin_v_Neut_R_NAcc_run2 5 0.096 0.006
## 6 Approach=~AWin_v_Neut_R_Insula_run2 6 0.049 0.007
## 7 Approach=~BWin_v_Neut_L_NAcc_run1 7 0.095 0.009
## 8 Approach=~BWin_v_Neut_R_NAcc_run1 8 0.070 0.007
## 9 Approach=~BWin_v_Neut_R_Insula_run1 9 0.044 0.005
## 10 Approach=~BWin_v_Neut_L_NAcc_run2 10 0.083 0.007
## 11 Approach=~BWin_v_Neut_R_NAcc_run2 11 0.079 0.015
## 12 Approach=~BWin_v_Neut_R_Insula_run2 12 0.050 0.011
## 13 Approach=~BWin_v_BLose_L_NAcc_run1 13 0.092 0.006
## 14 Approach=~BWin_v_BLose_R_NAcc_run1 14 0.089 0.005
## 15 Approach=~BWin_v_BLose_L_NAcc_run2 15 0.079 0.008
## 16 Approach=~BWin_v_BLose_R_NAcc_run2 16 0.095 0.004
## 17 Avoid=~ALose_v_Neut_L_Insula_run1 17 0.087 0.003
## 18 Avoid=~ALose_v_Neut_R_Insula_run1 18 0.094 0.009
## 19 Avoid=~ALose_v_Neut_L_Insula_run2 19 0.078 0.008
## 20 Avoid=~ALose_v_Neut_R_Insula_run2 20 0.090 0.012
## 21 Avoid=~BLose_v_Neut_L_Insula_run1 21 0.086 0.013
## 22 Avoid=~BLose_v_Neut_R_Insula_run1 22 0.092 0.006
## 23 Avoid=~BLose_v_Neut_L_Insula_run2 23 0.082 0.006
## 24 Avoid=~BLose_v_Neut_R_Insula_run2 24 0.091 0.005
## 25 Avoid=~BLose_v_BWin_L_Insula_run1 25 0.085 0.016
## 26 Avoid=~BLose_v_BWin_R_Insula_run1 26 0.040 0.010
## 27 Avoid=~BLose_v_BWin_L_Insula_run2 27 0.077 0.014
## 28 Avoid=~BLose_v_BWin_R_Insula_run2 28 0.041 0.004
## 29 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 29 0.028 0.001
## 30 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 30 0.031 0.002
## 31 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 31 0.029 0.002
## 32 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 32 0.027 0.001
## 33 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 33 0.028 0.002
## 34 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 34 0.028 0.002
## 35 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 35 0.025 0.001
## 36 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 36 0.029 0.001
## 37 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 37 0.031 0.001
## 38 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 38 0.030 0.001
## 39 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 39 0.030 0.002
## 40 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 40 0.031 0.001
## 41 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 41 0.028 0.002
## 42 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 42 0.030 0.003
## 43 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 43 0.028 0.001
## 44 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 44 0.028 0.002
## 45 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 45 0.030 0.002
## 46 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 46 0.027 0.002
## 47 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 47 0.029 0.001
## 48 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 48 0.029 0.003
## 49 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 49 0.029 0.001
## 50 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 50 0.025 0.001
## 51 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 51 0.030 0.002
## 52 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 52 0.029 0.002
## 53 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 53 0.030 0.002
## 54 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 54 0.031 0.002
## 55 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 55 0.029 0.002
## 56 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 56 0.029 0.001
## 57 Approach~~Approach 57 1.000 0.000
## 58 Avoid~~Avoid 58 1.000 0.000
## 59 Approach~~Avoid 59 -0.577 0.037
## 60 AWin_v_Neut_L_NAcc_run1~1 60 -0.003 0.016
## 61 AWin_v_Neut_R_NAcc_run1~1 61 -0.004 0.009
## 62 AWin_v_Neut_R_Insula_run1~1 62 0.007 0.004
## 63 AWin_v_Neut_L_NAcc_run2~1 63 -0.002 0.009
## 64 AWin_v_Neut_R_NAcc_run2~1 64 0.003 0.007
## 65 AWin_v_Neut_R_Insula_run2~1 65 0.005 0.003
## 66 BWin_v_Neut_L_NAcc_run1~1 66 -0.011 0.003
## 67 BWin_v_Neut_R_NAcc_run1~1 67 -0.006 0.008
## 68 BWin_v_Neut_R_Insula_run1~1 68 0.013 0.004
## 69 BWin_v_Neut_L_NAcc_run2~1 69 -0.005 0.003
## 70 BWin_v_Neut_R_NAcc_run2~1 70 -0.001 0.007
## 71 BWin_v_Neut_R_Insula_run2~1 71 -0.001 0.006
## 72 BWin_v_BLose_L_NAcc_run1~1 72 -0.003 0.009
## 73 BWin_v_BLose_R_NAcc_run1~1 73 -0.005 0.011
## 74 BWin_v_BLose_L_NAcc_run2~1 74 -0.008 0.010
## 75 BWin_v_BLose_R_NAcc_run2~1 75 -0.008 0.008
## 76 ALose_v_Neut_L_Insula_run1~1 76 -0.005 0.004
## 77 ALose_v_Neut_R_Insula_run1~1 77 0.003 0.005
## 78 ALose_v_Neut_L_Insula_run2~1 78 -0.001 0.005
## 79 ALose_v_Neut_R_Insula_run2~1 79 0.002 0.005
## 80 BLose_v_Neut_L_Insula_run1~1 80 0.002 0.009
## 81 BLose_v_Neut_R_Insula_run1~1 81 0.014 0.008
## 82 BLose_v_Neut_L_Insula_run2~1 82 0.013 0.003
## 83 BLose_v_Neut_R_Insula_run2~1 83 0.005 0.006
## 84 BLose_v_BWin_L_Insula_run1~1 84 0.008 0.006
## 85 BLose_v_BWin_R_Insula_run1~1 85 0.002 0.005
## 86 BLose_v_BWin_L_Insula_run2~1 86 0.005 0.004
## 87 BLose_v_BWin_R_Insula_run2~1 87 -0.003 0.012
## 88 Approach~1 88 0.000 0.000
## 89 Avoid~1 89 0.000 0.000
## 90 rmsea 90 0.075 0.005
## 91 cfi 91 0.598 0.039
## 92 tli 92 0.564 0.042
## 93 gfi 93 0.860 0.014
## 94 srmr 94 0.061 0.004
## MAD Min Max lin_int lin_slo SD_nonlin
## 1 0.006 0.074 0.090 0.092 -0.003 0.005
## 2 0.003 0.081 0.092 0.087 0.000 0.003
## 3 0.003 0.036 0.047 0.043 -0.001 0.003
## 4 0.002 0.085 0.093 0.095 -0.002 0.001
## 5 0.003 0.086 0.109 0.107 -0.004 0.004
## 6 0.006 0.039 0.061 0.033 0.005 0.003
## 7 0.005 0.071 0.105 0.115 -0.007 0.004
## 8 0.006 0.063 0.080 0.060 0.003 0.005
## 9 0.003 0.034 0.055 0.056 -0.004 0.003
## 10 0.005 0.069 0.090 0.080 0.001 0.006
## 11 0.012 0.056 0.100 0.042 0.013 0.002
## 12 0.009 0.037 0.072 0.074 -0.008 0.006
## 13 0.005 0.076 0.097 0.101 -0.003 0.005
## 14 0.004 0.083 0.099 0.082 0.002 0.004
## 15 0.005 0.061 0.086 0.070 0.003 0.007
## 16 0.003 0.086 0.099 0.100 -0.002 0.003
## 17 0.002 0.082 0.092 0.088 0.000 0.003
## 18 0.008 0.080 0.105 0.072 0.007 0.003
## 19 0.007 0.068 0.088 0.096 -0.006 0.003
## 20 0.009 0.068 0.104 0.079 0.004 0.011
## 21 0.012 0.058 0.097 0.067 0.006 0.011
## 22 0.005 0.083 0.099 0.103 -0.004 0.004
## 23 0.005 0.070 0.088 0.073 0.003 0.005
## 24 0.004 0.081 0.095 0.089 0.001 0.005
## 25 0.015 0.062 0.104 0.048 0.013 0.007
## 26 0.009 0.028 0.056 0.057 -0.006 0.008
## 27 0.012 0.057 0.097 0.044 0.011 0.006
## 28 0.004 0.037 0.050 0.049 -0.003 0.003
## 29 0.001 0.026 0.029 0.027 0.000 0.001
## 30 0.002 0.028 0.033 0.026 0.002 0.001
## 31 0.002 0.026 0.032 0.029 0.000 0.002
## 32 0.001 0.025 0.027 0.026 0.000 0.001
## 33 0.001 0.027 0.033 0.025 0.001 0.001
## 34 0.002 0.025 0.032 0.034 -0.002 0.001
## 35 0.001 0.023 0.028 0.022 0.001 0.001
## 36 0.001 0.027 0.030 0.029 0.000 0.001
## 37 0.001 0.029 0.032 0.033 -0.001 0.001
## 38 0.001 0.028 0.032 0.033 -0.001 0.001
## 39 0.001 0.024 0.032 0.032 -0.001 0.002
## 40 0.001 0.029 0.033 0.031 0.000 0.001
## 41 0.001 0.025 0.033 0.032 -0.001 0.001
## 42 0.002 0.021 0.032 0.035 -0.002 0.002
## 43 0.001 0.027 0.029 0.030 -0.001 0.001
## 44 0.002 0.024 0.029 0.023 0.002 0.001
## 45 0.002 0.026 0.032 0.032 -0.001 0.002
## 46 0.002 0.024 0.030 0.032 -0.002 0.001
## 47 0.001 0.028 0.032 0.028 0.000 0.001
## 48 0.003 0.026 0.036 0.036 -0.002 0.002
## 49 0.001 0.025 0.029 0.031 -0.001 0.001
## 50 0.001 0.024 0.026 0.026 0.000 0.001
## 51 0.002 0.027 0.033 0.031 0.000 0.002
## 52 0.001 0.026 0.031 0.024 0.002 0.000
## 53 0.002 0.027 0.031 0.032 -0.001 0.002
## 54 0.002 0.028 0.035 0.036 -0.002 0.001
## 55 0.001 0.025 0.031 0.032 -0.001 0.001
## 56 0.001 0.028 0.030 0.030 0.000 0.001
## 57 0.000 1.000 1.000 1.000 0.000 0.000
## 58 0.000 1.000 1.000 1.000 0.000 0.000
## 59 0.033 -0.621 -0.517 -0.517 -0.020 0.028
## 60 0.014 -0.017 0.028 0.034 -0.013 0.006
## 61 0.008 -0.020 0.007 0.003 -0.002 0.008
## 62 0.003 -0.001 0.010 0.005 0.001 0.004
## 63 0.007 -0.012 0.013 0.018 -0.007 0.002
## 64 0.005 -0.011 0.011 0.016 -0.004 0.004
## 65 0.003 0.001 0.009 0.010 -0.002 0.003
## 66 0.003 -0.014 -0.005 -0.013 0.001 0.003
## 67 0.006 -0.011 0.014 0.007 -0.004 0.006
## 68 0.003 0.008 0.017 0.008 0.002 0.003
## 69 0.003 -0.009 0.000 -0.007 0.001 0.003
## 70 0.005 -0.006 0.018 0.010 -0.004 0.006
## 71 0.004 -0.010 0.015 0.011 -0.004 0.004
## 72 0.007 -0.010 0.016 0.005 -0.003 0.008
## 73 0.010 -0.019 0.010 0.018 -0.008 0.007
## 74 0.010 -0.017 0.011 0.007 -0.005 0.008
## 75 0.008 -0.017 0.005 0.003 -0.004 0.007
## 76 0.004 -0.009 0.003 -0.008 0.001 0.004
## 77 0.004 -0.008 0.009 0.015 -0.004 0.001
## 78 0.004 -0.008 0.007 -0.005 0.001 0.005
## 79 0.003 -0.010 0.007 0.009 -0.002 0.004
## 80 0.007 -0.006 0.024 0.012 -0.003 0.008
## 81 0.007 0.003 0.025 -0.006 0.007 0.003
## 82 0.003 0.009 0.016 0.011 0.001 0.003
## 83 0.006 -0.003 0.011 -0.002 0.002 0.005
## 84 0.005 0.001 0.016 0.018 -0.003 0.004
## 85 0.003 -0.011 0.006 0.008 -0.002 0.004
## 86 0.003 -0.002 0.009 0.007 -0.001 0.004
## 87 0.010 -0.030 0.005 -0.028 0.008 0.007
## 88 0.000 0.000 0.000 0.000 0.000 0.000
## 89 0.000 0.000 0.000 0.000 0.000 0.000
## 90 0.005 0.071 0.086 0.071 0.001 0.005
## 91 0.030 0.527 0.635 0.594 0.001 0.038
## 92 0.033 0.488 0.605 0.560 0.001 0.042
## 93 0.013 0.830 0.872 0.872 -0.004 0.013
## 94 0.003 0.058 0.069 0.060 0.000 0.004
##
## Distribution of Moderator: Density and Effective Sample Size
##
## M=3.083 | SD=1.289
##
## moderator wgt Neff
## 1 1 0.125 188.687
## 2 2 0.227 345.959
## 3 3 0.307 433.724
## 4 4 0.243 353.279
## 5 5 0.098 179.382
##
## variable M SD min max
## 1 moderator 3.083 1.289 1.000 6.000
## 2 wgt 0.200 0.087 0.098 0.307
## 3 Neff 300.206 111.548 179.382 433.724
Plotting the lsem.estimate for the first 20 indexes.
plot(lsem.MID, parindex=1:20)Running permutation test of LSEM model. In this case, using 10 permutation to save on time. In future iterations, permutations will be 1000.
lsem.permuted <- sirt::lsem.permutationTest(lsem.object = lsem.MID,
B = 10, # permutations
residualize = FALSE) ## Permutation test LSEM
## 1 2 3 4 5 6 7 8 9 10
summary(lsem.permuted) # examine results## -----------------------------------------------------------------
## Permutation Test for Local Structural Equation Model
##
## sirt 3.12-66 (2022-05-16 12:27:54)
## lavaan 0.6-12 (2022-07-04 16:40:02 UTC)
##
## Function 'sirt::lsem.permutationTest'
##
##
## Call:
## sirt::lsem.permutationTest(lsem.object = lsem.MID, B = 10, residualize = FALSE)
##
## Date of Analysis: 2022-11-11 11:27:44
## Time difference of 51.91566 secs
## Computation Time: 51.91566
##
## Number of permutations = 10
## Percentage of non-converged datasets = 0
## Number of observations=1000
## Bandwidth factor=2
## Bandwidth=0.648
## Number of focal points for moderator=5
##
## lavaan Model
##
##
## # Factor loadings
## Approach =~ AWin_v_Neut_L_NAcc_run1 + AWin_v_Neut_R_NAcc_run1 + AWin_v_Neut_R_Insula_run1 +
## AWin_v_Neut_L_NAcc_run2 + AWin_v_Neut_R_NAcc_run2 + AWin_v_Neut_R_Insula_run2 +
## BWin_v_Neut_L_NAcc_run1 + BWin_v_Neut_R_NAcc_run1 + BWin_v_Neut_R_Insula_run1 +
## BWin_v_Neut_L_NAcc_run2 + BWin_v_Neut_R_NAcc_run2 + BWin_v_Neut_R_Insula_run2 +
## BWin_v_BLose_L_NAcc_run1 + BWin_v_BLose_R_NAcc_run1 +
## BWin_v_BLose_L_NAcc_run2 + BWin_v_BLose_R_NAcc_run2
##
## Avoid =~ ALose_v_Neut_L_Insula_run1 + ALose_v_Neut_R_Insula_run1 +
## ALose_v_Neut_L_Insula_run2 + ALose_v_Neut_R_Insula_run2 +
## BLose_v_Neut_L_Insula_run1 + BLose_v_Neut_R_Insula_run1 +
## BLose_v_Neut_L_Insula_run2 + BLose_v_Neut_R_Insula_run2 +
## BLose_v_BWin_L_Insula_run1 + BLose_v_BWin_R_Insula_run1 +
## BLose_v_BWin_L_Insula_run2 + BLose_v_BWin_R_Insula_run2
##
##
## Global Test Statistics
##
## par M SD SD_p
## 1 Approach=~AWin_v_Neut_L_NAcc_run1 0.082 0.006 0.6
## 2 Approach=~AWin_v_Neut_R_NAcc_run1 0.086 0.004 0.9
## 3 Approach=~AWin_v_Neut_R_Insula_run1 0.041 0.004 0.8
## 4 Approach=~AWin_v_Neut_L_NAcc_run2 0.090 0.002 1.0
## 5 Approach=~AWin_v_Neut_R_NAcc_run2 0.096 0.006 0.8
## 6 Approach=~AWin_v_Neut_R_Insula_run2 0.049 0.007 0.3
## 7 Approach=~BWin_v_Neut_L_NAcc_run1 0.095 0.009 0.2
## 8 Approach=~BWin_v_Neut_R_NAcc_run1 0.070 0.007 0.2
## 9 Approach=~BWin_v_Neut_R_Insula_run1 0.044 0.005 0.7
## 10 Approach=~BWin_v_Neut_L_NAcc_run2 0.083 0.007 0.7
## 11 Approach=~BWin_v_Neut_R_NAcc_run2 0.079 0.015 0.0
## 12 Approach=~BWin_v_Neut_R_Insula_run2 0.050 0.011 0.1
## 13 Approach=~BWin_v_BLose_L_NAcc_run1 0.092 0.006 0.6
## 14 Approach=~BWin_v_BLose_R_NAcc_run1 0.089 0.005 0.8
## 15 Approach=~BWin_v_BLose_L_NAcc_run2 0.079 0.008 0.5
## 16 Approach=~BWin_v_BLose_R_NAcc_run2 0.095 0.004 1.0
## 17 Avoid=~ALose_v_Neut_L_Insula_run1 0.087 0.003 1.0
## 18 Avoid=~ALose_v_Neut_R_Insula_run1 0.094 0.009 0.4
## 19 Avoid=~ALose_v_Neut_L_Insula_run2 0.078 0.008 0.4
## 20 Avoid=~ALose_v_Neut_R_Insula_run2 0.090 0.012 0.2
## 21 Avoid=~BLose_v_Neut_L_Insula_run1 0.086 0.013 0.0
## 22 Avoid=~BLose_v_Neut_R_Insula_run1 0.092 0.006 0.7
## 23 Avoid=~BLose_v_Neut_L_Insula_run2 0.082 0.006 0.7
## 24 Avoid=~BLose_v_Neut_R_Insula_run2 0.091 0.005 0.8
## 25 Avoid=~BLose_v_BWin_L_Insula_run1 0.085 0.016 0.1
## 26 Avoid=~BLose_v_BWin_R_Insula_run1 0.040 0.010 0.1
## 27 Avoid=~BLose_v_BWin_L_Insula_run2 0.077 0.014 0.0
## 28 Avoid=~BLose_v_BWin_R_Insula_run2 0.041 0.004 0.7
## 29 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 0.028 0.001 0.6
## 30 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 0.031 0.002 0.2
## 31 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 0.029 0.002 0.0
## 32 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 0.027 0.001 0.8
## 33 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 0.028 0.002 0.5
## 34 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 0.028 0.002 0.3
## 35 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 0.025 0.001 0.6
## 36 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 0.029 0.001 0.8
## 37 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 0.031 0.001 0.8
## 38 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 0.030 0.001 0.7
## 39 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 0.030 0.002 0.1
## 40 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 0.031 0.001 0.8
## 41 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 0.028 0.002 0.0
## 42 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 0.030 0.003 0.1
## 43 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 0.028 0.001 0.7
## 44 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 0.028 0.002 0.0
## 45 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 0.030 0.002 0.2
## 46 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 0.027 0.002 0.1
## 47 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 0.029 0.001 0.7
## 48 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 0.029 0.003 0.0
## 49 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 0.029 0.001 0.7
## 50 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 0.025 0.001 0.9
## 51 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 0.030 0.002 0.1
## 52 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 0.029 0.002 0.5
## 53 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 0.030 0.002 0.7
## 54 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 0.031 0.002 0.0
## 55 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 0.029 0.002 0.3
## 56 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 0.029 0.001 1.0
## 57 Approach~~Approach 1.000 0.000 1.0
## 58 Avoid~~Avoid 1.000 0.000 1.0
## 59 Approach~~Avoid -0.577 0.037 0.6
## 60 AWin_v_Neut_L_NAcc_run1~1 -0.003 0.016 0.0
## 61 AWin_v_Neut_R_NAcc_run1~1 -0.004 0.009 0.2
## 62 AWin_v_Neut_R_Insula_run1~1 0.007 0.004 0.6
## 63 AWin_v_Neut_L_NAcc_run2~1 -0.002 0.009 0.1
## 64 AWin_v_Neut_R_NAcc_run2~1 0.003 0.007 0.5
## 65 AWin_v_Neut_R_Insula_run2~1 0.005 0.003 0.8
## 66 BWin_v_Neut_L_NAcc_run1~1 -0.011 0.003 0.9
## 67 BWin_v_Neut_R_NAcc_run1~1 -0.006 0.008 0.3
## 68 BWin_v_Neut_R_Insula_run1~1 0.013 0.004 0.8
## 69 BWin_v_Neut_L_NAcc_run2~1 -0.005 0.003 0.8
## 70 BWin_v_Neut_R_NAcc_run2~1 -0.001 0.007 0.4
## 71 BWin_v_Neut_R_Insula_run2~1 -0.001 0.006 0.5
## 72 BWin_v_BLose_L_NAcc_run1~1 -0.003 0.009 0.3
## 73 BWin_v_BLose_R_NAcc_run1~1 -0.005 0.011 0.1
## 74 BWin_v_BLose_L_NAcc_run2~1 -0.008 0.010 0.0
## 75 BWin_v_BLose_R_NAcc_run2~1 -0.008 0.008 0.1
## 76 ALose_v_Neut_L_Insula_run1~1 -0.005 0.004 0.8
## 77 ALose_v_Neut_R_Insula_run1~1 0.003 0.005 0.7
## 78 ALose_v_Neut_L_Insula_run2~1 -0.001 0.005 0.8
## 79 ALose_v_Neut_R_Insula_run2~1 0.002 0.005 0.8
## 80 BLose_v_Neut_L_Insula_run1~1 0.002 0.009 0.0
## 81 BLose_v_Neut_R_Insula_run1~1 0.014 0.008 0.5
## 82 BLose_v_Neut_L_Insula_run2~1 0.013 0.003 0.9
## 83 BLose_v_Neut_R_Insula_run2~1 0.005 0.006 0.4
## 84 BLose_v_BWin_L_Insula_run1~1 0.008 0.006 0.3
## 85 BLose_v_BWin_R_Insula_run1~1 0.002 0.005 0.7
## 86 BLose_v_BWin_L_Insula_run2~1 0.005 0.004 0.7
## 87 BLose_v_BWin_R_Insula_run2~1 -0.003 0.012 0.0
## 88 Approach~1 0.000 0.000 1.0
## 89 Avoid~1 0.000 0.000 1.0
## 90 rmsea 0.075 0.005 0.7
## 91 cfi 0.598 0.039 0.4
## 92 tli 0.564 0.042 0.4
## 93 gfi 0.860 0.014 0.6
## 94 srmr 0.061 0.004 0.5
## MAD MAD_p lin_slo lin_slo_p
## 1 0.006 0.5 -0.003 0.2
## 2 0.003 0.9 0.000 0.4
## 3 0.003 0.8 -0.001 0.8
## 4 0.002 1.0 -0.002 0.6
## 5 0.003 0.8 -0.004 0.6
## 6 0.006 0.2 0.005 0.2
## 7 0.005 0.4 -0.007 0.0
## 8 0.006 0.2 0.003 0.2
## 9 0.003 0.9 -0.004 0.8
## 10 0.005 0.8 0.001 1.0
## 11 0.012 0.0 0.013 0.0
## 12 0.009 0.1 -0.008 0.2
## 13 0.005 0.5 -0.003 0.4
## 14 0.004 0.8 0.002 0.8
## 15 0.005 0.5 0.003 0.6
## 16 0.003 1.0 -0.002 1.0
## 17 0.002 1.0 0.000 0.8
## 18 0.008 0.5 0.007 0.4
## 19 0.007 0.2 -0.006 0.2
## 20 0.009 0.4 0.004 0.8
## 21 0.012 0.0 0.006 0.2
## 22 0.005 0.6 -0.004 0.4
## 23 0.005 0.6 0.003 0.6
## 24 0.004 0.8 0.001 0.8
## 25 0.015 0.0 0.013 0.0
## 26 0.009 0.1 -0.006 0.0
## 27 0.012 0.1 0.011 0.0
## 28 0.004 0.7 -0.003 0.4
## 29 0.001 0.6 0.000 0.8
## 30 0.002 0.1 0.002 0.0
## 31 0.002 0.0 0.000 0.8
## 32 0.001 0.8 0.000 0.8
## 33 0.001 0.6 0.001 0.0
## 34 0.002 0.1 -0.002 0.0
## 35 0.001 0.9 0.001 0.4
## 36 0.001 0.6 0.000 0.8
## 37 0.001 0.6 -0.001 0.2
## 38 0.001 0.7 -0.001 0.8
## 39 0.001 0.3 -0.001 0.2
## 40 0.001 0.6 0.000 1.0
## 41 0.001 0.3 -0.001 0.2
## 42 0.002 0.1 -0.002 0.0
## 43 0.001 0.6 -0.001 0.4
## 44 0.002 0.0 0.002 0.0
## 45 0.002 0.1 -0.001 0.8
## 46 0.002 0.1 -0.002 0.2
## 47 0.001 0.7 0.000 1.0
## 48 0.003 0.0 -0.002 0.0
## 49 0.001 0.7 -0.001 0.4
## 50 0.001 0.8 0.000 1.0
## 51 0.002 0.1 0.000 0.8
## 52 0.001 0.7 0.002 0.2
## 53 0.002 0.6 -0.001 0.4
## 54 0.002 0.0 -0.002 0.0
## 55 0.001 0.3 -0.001 0.0
## 56 0.001 0.9 0.000 1.0
## 57 0.000 1.0 0.000 1.0
## 58 0.000 1.0 0.000 1.0
## 59 0.033 0.6 -0.020 0.2
## 60 0.014 0.0 -0.013 0.0
## 61 0.008 0.2 -0.002 0.2
## 62 0.003 0.6 0.001 1.0
## 63 0.007 0.0 -0.007 0.0
## 64 0.005 0.4 -0.004 0.2
## 65 0.003 0.5 -0.002 0.0
## 66 0.003 0.9 0.001 0.8
## 67 0.006 0.3 -0.004 0.6
## 68 0.003 0.7 0.002 0.2
## 69 0.003 0.8 0.001 0.8
## 70 0.005 0.6 -0.004 0.0
## 71 0.004 0.6 -0.004 0.2
## 72 0.007 0.3 -0.003 0.6
## 73 0.010 0.0 -0.008 0.0
## 74 0.010 0.0 -0.005 0.2
## 75 0.008 0.0 -0.004 0.0
## 76 0.004 0.8 0.001 0.6
## 77 0.004 0.6 -0.004 0.0
## 78 0.004 0.7 0.001 0.8
## 79 0.003 0.9 -0.002 0.8
## 80 0.007 0.2 -0.003 0.4
## 81 0.007 0.3 0.007 0.0
## 82 0.003 0.8 0.001 0.6
## 83 0.006 0.1 0.002 0.2
## 84 0.005 0.3 -0.003 0.2
## 85 0.003 0.8 -0.002 0.6
## 86 0.003 0.7 -0.001 1.0
## 87 0.010 0.0 0.008 0.0
## 88 0.000 1.0 0.000 1.0
## 89 0.000 1.0 0.000 1.0
## 90 0.005 0.2 0.001 0.0
## 91 0.030 0.5 0.001 0.8
## 92 0.033 0.5 0.001 0.8
## 93 0.013 0.3 -0.004 0.0
## 94 0.003 0.4 0.000 0.6
##
## Pointwise Test Statistics
##
## par parindex moderator
## 1 Approach=~AWin_v_Neut_L_NAcc_run1 1 1
## 2 Approach=~AWin_v_Neut_L_NAcc_run1 1 2
## 3 Approach=~AWin_v_Neut_L_NAcc_run1 1 3
## 4 Approach=~AWin_v_Neut_L_NAcc_run1 1 4
## 5 Approach=~AWin_v_Neut_L_NAcc_run1 1 5
## 6 Approach=~AWin_v_Neut_R_NAcc_run1 2 1
## 7 Approach=~AWin_v_Neut_R_NAcc_run1 2 2
## 8 Approach=~AWin_v_Neut_R_NAcc_run1 2 3
## 9 Approach=~AWin_v_Neut_R_NAcc_run1 2 4
## 10 Approach=~AWin_v_Neut_R_NAcc_run1 2 5
## 11 Approach=~AWin_v_Neut_R_Insula_run1 3 1
## 12 Approach=~AWin_v_Neut_R_Insula_run1 3 2
## 13 Approach=~AWin_v_Neut_R_Insula_run1 3 3
## 14 Approach=~AWin_v_Neut_R_Insula_run1 3 4
## 15 Approach=~AWin_v_Neut_R_Insula_run1 3 5
## 16 Approach=~AWin_v_Neut_L_NAcc_run2 4 1
## 17 Approach=~AWin_v_Neut_L_NAcc_run2 4 2
## 18 Approach=~AWin_v_Neut_L_NAcc_run2 4 3
## 19 Approach=~AWin_v_Neut_L_NAcc_run2 4 4
## 20 Approach=~AWin_v_Neut_L_NAcc_run2 4 5
## 21 Approach=~AWin_v_Neut_R_NAcc_run2 5 1
## 22 Approach=~AWin_v_Neut_R_NAcc_run2 5 2
## 23 Approach=~AWin_v_Neut_R_NAcc_run2 5 3
## 24 Approach=~AWin_v_Neut_R_NAcc_run2 5 4
## 25 Approach=~AWin_v_Neut_R_NAcc_run2 5 5
## 26 Approach=~AWin_v_Neut_R_Insula_run2 6 1
## 27 Approach=~AWin_v_Neut_R_Insula_run2 6 2
## 28 Approach=~AWin_v_Neut_R_Insula_run2 6 3
## 29 Approach=~AWin_v_Neut_R_Insula_run2 6 4
## 30 Approach=~AWin_v_Neut_R_Insula_run2 6 5
## 31 Approach=~BWin_v_Neut_L_NAcc_run1 7 1
## 32 Approach=~BWin_v_Neut_L_NAcc_run1 7 2
## 33 Approach=~BWin_v_Neut_L_NAcc_run1 7 3
## 34 Approach=~BWin_v_Neut_L_NAcc_run1 7 4
## 35 Approach=~BWin_v_Neut_L_NAcc_run1 7 5
## 36 Approach=~BWin_v_Neut_R_NAcc_run1 8 1
## 37 Approach=~BWin_v_Neut_R_NAcc_run1 8 2
## 38 Approach=~BWin_v_Neut_R_NAcc_run1 8 3
## 39 Approach=~BWin_v_Neut_R_NAcc_run1 8 4
## 40 Approach=~BWin_v_Neut_R_NAcc_run1 8 5
## 41 Approach=~BWin_v_Neut_R_Insula_run1 9 1
## 42 Approach=~BWin_v_Neut_R_Insula_run1 9 2
## 43 Approach=~BWin_v_Neut_R_Insula_run1 9 3
## 44 Approach=~BWin_v_Neut_R_Insula_run1 9 4
## 45 Approach=~BWin_v_Neut_R_Insula_run1 9 5
## 46 Approach=~BWin_v_Neut_L_NAcc_run2 10 1
## 47 Approach=~BWin_v_Neut_L_NAcc_run2 10 2
## 48 Approach=~BWin_v_Neut_L_NAcc_run2 10 3
## 49 Approach=~BWin_v_Neut_L_NAcc_run2 10 4
## 50 Approach=~BWin_v_Neut_L_NAcc_run2 10 5
## 51 Approach=~BWin_v_Neut_R_NAcc_run2 11 1
## 52 Approach=~BWin_v_Neut_R_NAcc_run2 11 2
## 53 Approach=~BWin_v_Neut_R_NAcc_run2 11 3
## 54 Approach=~BWin_v_Neut_R_NAcc_run2 11 4
## 55 Approach=~BWin_v_Neut_R_NAcc_run2 11 5
## 56 Approach=~BWin_v_Neut_R_Insula_run2 12 1
## 57 Approach=~BWin_v_Neut_R_Insula_run2 12 2
## 58 Approach=~BWin_v_Neut_R_Insula_run2 12 3
## 59 Approach=~BWin_v_Neut_R_Insula_run2 12 4
## 60 Approach=~BWin_v_Neut_R_Insula_run2 12 5
## 61 Approach=~BWin_v_BLose_L_NAcc_run1 13 1
## 62 Approach=~BWin_v_BLose_L_NAcc_run1 13 2
## 63 Approach=~BWin_v_BLose_L_NAcc_run1 13 3
## 64 Approach=~BWin_v_BLose_L_NAcc_run1 13 4
## 65 Approach=~BWin_v_BLose_L_NAcc_run1 13 5
## 66 Approach=~BWin_v_BLose_R_NAcc_run1 14 1
## 67 Approach=~BWin_v_BLose_R_NAcc_run1 14 2
## 68 Approach=~BWin_v_BLose_R_NAcc_run1 14 3
## 69 Approach=~BWin_v_BLose_R_NAcc_run1 14 4
## 70 Approach=~BWin_v_BLose_R_NAcc_run1 14 5
## 71 Approach=~BWin_v_BLose_L_NAcc_run2 15 1
## 72 Approach=~BWin_v_BLose_L_NAcc_run2 15 2
## 73 Approach=~BWin_v_BLose_L_NAcc_run2 15 3
## 74 Approach=~BWin_v_BLose_L_NAcc_run2 15 4
## 75 Approach=~BWin_v_BLose_L_NAcc_run2 15 5
## 76 Approach=~BWin_v_BLose_R_NAcc_run2 16 1
## 77 Approach=~BWin_v_BLose_R_NAcc_run2 16 2
## 78 Approach=~BWin_v_BLose_R_NAcc_run2 16 3
## 79 Approach=~BWin_v_BLose_R_NAcc_run2 16 4
## 80 Approach=~BWin_v_BLose_R_NAcc_run2 16 5
## 81 Avoid=~ALose_v_Neut_L_Insula_run1 17 1
## 82 Avoid=~ALose_v_Neut_L_Insula_run1 17 2
## 83 Avoid=~ALose_v_Neut_L_Insula_run1 17 3
## 84 Avoid=~ALose_v_Neut_L_Insula_run1 17 4
## 85 Avoid=~ALose_v_Neut_L_Insula_run1 17 5
## 86 Avoid=~ALose_v_Neut_R_Insula_run1 18 1
## 87 Avoid=~ALose_v_Neut_R_Insula_run1 18 2
## 88 Avoid=~ALose_v_Neut_R_Insula_run1 18 3
## 89 Avoid=~ALose_v_Neut_R_Insula_run1 18 4
## 90 Avoid=~ALose_v_Neut_R_Insula_run1 18 5
## 91 Avoid=~ALose_v_Neut_L_Insula_run2 19 1
## 92 Avoid=~ALose_v_Neut_L_Insula_run2 19 2
## 93 Avoid=~ALose_v_Neut_L_Insula_run2 19 3
## 94 Avoid=~ALose_v_Neut_L_Insula_run2 19 4
## 95 Avoid=~ALose_v_Neut_L_Insula_run2 19 5
## 96 Avoid=~ALose_v_Neut_R_Insula_run2 20 1
## 97 Avoid=~ALose_v_Neut_R_Insula_run2 20 2
## 98 Avoid=~ALose_v_Neut_R_Insula_run2 20 3
## 99 Avoid=~ALose_v_Neut_R_Insula_run2 20 4
## 100 Avoid=~ALose_v_Neut_R_Insula_run2 20 5
## 101 Avoid=~BLose_v_Neut_L_Insula_run1 21 1
## 102 Avoid=~BLose_v_Neut_L_Insula_run1 21 2
## 103 Avoid=~BLose_v_Neut_L_Insula_run1 21 3
## 104 Avoid=~BLose_v_Neut_L_Insula_run1 21 4
## 105 Avoid=~BLose_v_Neut_L_Insula_run1 21 5
## 106 Avoid=~BLose_v_Neut_R_Insula_run1 22 1
## 107 Avoid=~BLose_v_Neut_R_Insula_run1 22 2
## 108 Avoid=~BLose_v_Neut_R_Insula_run1 22 3
## 109 Avoid=~BLose_v_Neut_R_Insula_run1 22 4
## 110 Avoid=~BLose_v_Neut_R_Insula_run1 22 5
## 111 Avoid=~BLose_v_Neut_L_Insula_run2 23 1
## 112 Avoid=~BLose_v_Neut_L_Insula_run2 23 2
## 113 Avoid=~BLose_v_Neut_L_Insula_run2 23 3
## 114 Avoid=~BLose_v_Neut_L_Insula_run2 23 4
## 115 Avoid=~BLose_v_Neut_L_Insula_run2 23 5
## 116 Avoid=~BLose_v_Neut_R_Insula_run2 24 1
## 117 Avoid=~BLose_v_Neut_R_Insula_run2 24 2
## 118 Avoid=~BLose_v_Neut_R_Insula_run2 24 3
## 119 Avoid=~BLose_v_Neut_R_Insula_run2 24 4
## 120 Avoid=~BLose_v_Neut_R_Insula_run2 24 5
## 121 Avoid=~BLose_v_BWin_L_Insula_run1 25 1
## 122 Avoid=~BLose_v_BWin_L_Insula_run1 25 2
## 123 Avoid=~BLose_v_BWin_L_Insula_run1 25 3
## 124 Avoid=~BLose_v_BWin_L_Insula_run1 25 4
## 125 Avoid=~BLose_v_BWin_L_Insula_run1 25 5
## 126 Avoid=~BLose_v_BWin_R_Insula_run1 26 1
## 127 Avoid=~BLose_v_BWin_R_Insula_run1 26 2
## 128 Avoid=~BLose_v_BWin_R_Insula_run1 26 3
## 129 Avoid=~BLose_v_BWin_R_Insula_run1 26 4
## 130 Avoid=~BLose_v_BWin_R_Insula_run1 26 5
## 131 Avoid=~BLose_v_BWin_L_Insula_run2 27 1
## 132 Avoid=~BLose_v_BWin_L_Insula_run2 27 2
## 133 Avoid=~BLose_v_BWin_L_Insula_run2 27 3
## 134 Avoid=~BLose_v_BWin_L_Insula_run2 27 4
## 135 Avoid=~BLose_v_BWin_L_Insula_run2 27 5
## 136 Avoid=~BLose_v_BWin_R_Insula_run2 28 1
## 137 Avoid=~BLose_v_BWin_R_Insula_run2 28 2
## 138 Avoid=~BLose_v_BWin_R_Insula_run2 28 3
## 139 Avoid=~BLose_v_BWin_R_Insula_run2 28 4
## 140 Avoid=~BLose_v_BWin_R_Insula_run2 28 5
## 141 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 29 1
## 142 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 29 2
## 143 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 29 3
## 144 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 29 4
## 145 AWin_v_Neut_L_NAcc_run1~~AWin_v_Neut_L_NAcc_run1 29 5
## 146 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 30 1
## 147 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 30 2
## 148 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 30 3
## 149 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 30 4
## 150 AWin_v_Neut_R_NAcc_run1~~AWin_v_Neut_R_NAcc_run1 30 5
## 151 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 31 1
## 152 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 31 2
## 153 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 31 3
## 154 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 31 4
## 155 AWin_v_Neut_R_Insula_run1~~AWin_v_Neut_R_Insula_run1 31 5
## 156 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 32 1
## 157 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 32 2
## 158 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 32 3
## 159 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 32 4
## 160 AWin_v_Neut_L_NAcc_run2~~AWin_v_Neut_L_NAcc_run2 32 5
## 161 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 33 1
## 162 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 33 2
## 163 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 33 3
## 164 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 33 4
## 165 AWin_v_Neut_R_NAcc_run2~~AWin_v_Neut_R_NAcc_run2 33 5
## 166 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 34 1
## 167 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 34 2
## 168 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 34 3
## 169 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 34 4
## 170 AWin_v_Neut_R_Insula_run2~~AWin_v_Neut_R_Insula_run2 34 5
## 171 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 35 1
## 172 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 35 2
## 173 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 35 3
## 174 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 35 4
## 175 BWin_v_Neut_L_NAcc_run1~~BWin_v_Neut_L_NAcc_run1 35 5
## 176 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 36 1
## 177 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 36 2
## 178 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 36 3
## 179 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 36 4
## 180 BWin_v_Neut_R_NAcc_run1~~BWin_v_Neut_R_NAcc_run1 36 5
## 181 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 37 1
## 182 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 37 2
## 183 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 37 3
## 184 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 37 4
## 185 BWin_v_Neut_R_Insula_run1~~BWin_v_Neut_R_Insula_run1 37 5
## 186 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 38 1
## 187 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 38 2
## 188 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 38 3
## 189 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 38 4
## 190 BWin_v_Neut_L_NAcc_run2~~BWin_v_Neut_L_NAcc_run2 38 5
## 191 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 39 1
## 192 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 39 2
## 193 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 39 3
## 194 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 39 4
## 195 BWin_v_Neut_R_NAcc_run2~~BWin_v_Neut_R_NAcc_run2 39 5
## 196 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 40 1
## 197 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 40 2
## 198 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 40 3
## 199 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 40 4
## 200 BWin_v_Neut_R_Insula_run2~~BWin_v_Neut_R_Insula_run2 40 5
## 201 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 41 1
## 202 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 41 2
## 203 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 41 3
## 204 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 41 4
## 205 BWin_v_BLose_L_NAcc_run1~~BWin_v_BLose_L_NAcc_run1 41 5
## 206 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 42 1
## 207 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 42 2
## 208 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 42 3
## 209 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 42 4
## 210 BWin_v_BLose_R_NAcc_run1~~BWin_v_BLose_R_NAcc_run1 42 5
## 211 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 43 1
## 212 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 43 2
## 213 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 43 3
## 214 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 43 4
## 215 BWin_v_BLose_L_NAcc_run2~~BWin_v_BLose_L_NAcc_run2 43 5
## 216 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 44 1
## 217 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 44 2
## 218 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 44 3
## 219 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 44 4
## 220 BWin_v_BLose_R_NAcc_run2~~BWin_v_BLose_R_NAcc_run2 44 5
## 221 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 45 1
## 222 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 45 2
## 223 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 45 3
## 224 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 45 4
## 225 ALose_v_Neut_L_Insula_run1~~ALose_v_Neut_L_Insula_run1 45 5
## 226 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 46 1
## 227 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 46 2
## 228 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 46 3
## 229 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 46 4
## 230 ALose_v_Neut_R_Insula_run1~~ALose_v_Neut_R_Insula_run1 46 5
## 231 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 47 1
## 232 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 47 2
## 233 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 47 3
## 234 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 47 4
## 235 ALose_v_Neut_L_Insula_run2~~ALose_v_Neut_L_Insula_run2 47 5
## 236 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 48 1
## 237 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 48 2
## 238 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 48 3
## 239 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 48 4
## 240 ALose_v_Neut_R_Insula_run2~~ALose_v_Neut_R_Insula_run2 48 5
## 241 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 49 1
## 242 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 49 2
## 243 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 49 3
## 244 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 49 4
## 245 BLose_v_Neut_L_Insula_run1~~BLose_v_Neut_L_Insula_run1 49 5
## 246 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 50 1
## 247 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 50 2
## 248 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 50 3
## 249 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 50 4
## 250 BLose_v_Neut_R_Insula_run1~~BLose_v_Neut_R_Insula_run1 50 5
## 251 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 51 1
## 252 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 51 2
## 253 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 51 3
## 254 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 51 4
## 255 BLose_v_Neut_L_Insula_run2~~BLose_v_Neut_L_Insula_run2 51 5
## 256 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 52 1
## 257 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 52 2
## 258 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 52 3
## 259 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 52 4
## 260 BLose_v_Neut_R_Insula_run2~~BLose_v_Neut_R_Insula_run2 52 5
## 261 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 53 1
## 262 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 53 2
## 263 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 53 3
## 264 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 53 4
## 265 BLose_v_BWin_L_Insula_run1~~BLose_v_BWin_L_Insula_run1 53 5
## 266 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 54 1
## 267 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 54 2
## 268 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 54 3
## 269 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 54 4
## 270 BLose_v_BWin_R_Insula_run1~~BLose_v_BWin_R_Insula_run1 54 5
## 271 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 55 1
## 272 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 55 2
## 273 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 55 3
## 274 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 55 4
## 275 BLose_v_BWin_L_Insula_run2~~BLose_v_BWin_L_Insula_run2 55 5
## 276 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 56 1
## 277 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 56 2
## 278 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 56 3
## 279 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 56 4
## 280 BLose_v_BWin_R_Insula_run2~~BLose_v_BWin_R_Insula_run2 56 5
## 281 Approach~~Approach 57 1
## 282 Approach~~Approach 57 2
## 283 Approach~~Approach 57 3
## 284 Approach~~Approach 57 4
## 285 Approach~~Approach 57 5
## 286 Avoid~~Avoid 58 1
## 287 Avoid~~Avoid 58 2
## 288 Avoid~~Avoid 58 3
## 289 Avoid~~Avoid 58 4
## 290 Avoid~~Avoid 58 5
## 291 Approach~~Avoid 59 1
## 292 Approach~~Avoid 59 2
## 293 Approach~~Avoid 59 3
## 294 Approach~~Avoid 59 4
## 295 Approach~~Avoid 59 5
## 296 AWin_v_Neut_L_NAcc_run1~1 60 1
## 297 AWin_v_Neut_L_NAcc_run1~1 60 2
## 298 AWin_v_Neut_L_NAcc_run1~1 60 3
## 299 AWin_v_Neut_L_NAcc_run1~1 60 4
## 300 AWin_v_Neut_L_NAcc_run1~1 60 5
## 301 AWin_v_Neut_R_NAcc_run1~1 61 1
## 302 AWin_v_Neut_R_NAcc_run1~1 61 2
## 303 AWin_v_Neut_R_NAcc_run1~1 61 3
## 304 AWin_v_Neut_R_NAcc_run1~1 61 4
## 305 AWin_v_Neut_R_NAcc_run1~1 61 5
## 306 AWin_v_Neut_R_Insula_run1~1 62 1
## 307 AWin_v_Neut_R_Insula_run1~1 62 2
## 308 AWin_v_Neut_R_Insula_run1~1 62 3
## 309 AWin_v_Neut_R_Insula_run1~1 62 4
## 310 AWin_v_Neut_R_Insula_run1~1 62 5
## 311 AWin_v_Neut_L_NAcc_run2~1 63 1
## 312 AWin_v_Neut_L_NAcc_run2~1 63 2
## 313 AWin_v_Neut_L_NAcc_run2~1 63 3
## 314 AWin_v_Neut_L_NAcc_run2~1 63 4
## 315 AWin_v_Neut_L_NAcc_run2~1 63 5
## 316 AWin_v_Neut_R_NAcc_run2~1 64 1
## 317 AWin_v_Neut_R_NAcc_run2~1 64 2
## 318 AWin_v_Neut_R_NAcc_run2~1 64 3
## 319 AWin_v_Neut_R_NAcc_run2~1 64 4
## 320 AWin_v_Neut_R_NAcc_run2~1 64 5
## 321 AWin_v_Neut_R_Insula_run2~1 65 1
## 322 AWin_v_Neut_R_Insula_run2~1 65 2
## 323 AWin_v_Neut_R_Insula_run2~1 65 3
## 324 AWin_v_Neut_R_Insula_run2~1 65 4
## 325 AWin_v_Neut_R_Insula_run2~1 65 5
## 326 BWin_v_Neut_L_NAcc_run1~1 66 1
## 327 BWin_v_Neut_L_NAcc_run1~1 66 2
## 328 BWin_v_Neut_L_NAcc_run1~1 66 3
## 329 BWin_v_Neut_L_NAcc_run1~1 66 4
## 330 BWin_v_Neut_L_NAcc_run1~1 66 5
## 331 BWin_v_Neut_R_NAcc_run1~1 67 1
## 332 BWin_v_Neut_R_NAcc_run1~1 67 2
## 333 BWin_v_Neut_R_NAcc_run1~1 67 3
## 334 BWin_v_Neut_R_NAcc_run1~1 67 4
## 335 BWin_v_Neut_R_NAcc_run1~1 67 5
## 336 BWin_v_Neut_R_Insula_run1~1 68 1
## 337 BWin_v_Neut_R_Insula_run1~1 68 2
## 338 BWin_v_Neut_R_Insula_run1~1 68 3
## 339 BWin_v_Neut_R_Insula_run1~1 68 4
## 340 BWin_v_Neut_R_Insula_run1~1 68 5
## 341 BWin_v_Neut_L_NAcc_run2~1 69 1
## 342 BWin_v_Neut_L_NAcc_run2~1 69 2
## 343 BWin_v_Neut_L_NAcc_run2~1 69 3
## 344 BWin_v_Neut_L_NAcc_run2~1 69 4
## 345 BWin_v_Neut_L_NAcc_run2~1 69 5
## 346 BWin_v_Neut_R_NAcc_run2~1 70 1
## 347 BWin_v_Neut_R_NAcc_run2~1 70 2
## 348 BWin_v_Neut_R_NAcc_run2~1 70 3
## 349 BWin_v_Neut_R_NAcc_run2~1 70 4
## 350 BWin_v_Neut_R_NAcc_run2~1 70 5
## 351 BWin_v_Neut_R_Insula_run2~1 71 1
## 352 BWin_v_Neut_R_Insula_run2~1 71 2
## 353 BWin_v_Neut_R_Insula_run2~1 71 3
## 354 BWin_v_Neut_R_Insula_run2~1 71 4
## 355 BWin_v_Neut_R_Insula_run2~1 71 5
## 356 BWin_v_BLose_L_NAcc_run1~1 72 1
## 357 BWin_v_BLose_L_NAcc_run1~1 72 2
## 358 BWin_v_BLose_L_NAcc_run1~1 72 3
## 359 BWin_v_BLose_L_NAcc_run1~1 72 4
## 360 BWin_v_BLose_L_NAcc_run1~1 72 5
## 361 BWin_v_BLose_R_NAcc_run1~1 73 1
## 362 BWin_v_BLose_R_NAcc_run1~1 73 2
## 363 BWin_v_BLose_R_NAcc_run1~1 73 3
## 364 BWin_v_BLose_R_NAcc_run1~1 73 4
## 365 BWin_v_BLose_R_NAcc_run1~1 73 5
## 366 BWin_v_BLose_L_NAcc_run2~1 74 1
## 367 BWin_v_BLose_L_NAcc_run2~1 74 2
## 368 BWin_v_BLose_L_NAcc_run2~1 74 3
## 369 BWin_v_BLose_L_NAcc_run2~1 74 4
## 370 BWin_v_BLose_L_NAcc_run2~1 74 5
## 371 BWin_v_BLose_R_NAcc_run2~1 75 1
## 372 BWin_v_BLose_R_NAcc_run2~1 75 2
## 373 BWin_v_BLose_R_NAcc_run2~1 75 3
## 374 BWin_v_BLose_R_NAcc_run2~1 75 4
## 375 BWin_v_BLose_R_NAcc_run2~1 75 5
## 376 ALose_v_Neut_L_Insula_run1~1 76 1
## 377 ALose_v_Neut_L_Insula_run1~1 76 2
## 378 ALose_v_Neut_L_Insula_run1~1 76 3
## 379 ALose_v_Neut_L_Insula_run1~1 76 4
## 380 ALose_v_Neut_L_Insula_run1~1 76 5
## 381 ALose_v_Neut_R_Insula_run1~1 77 1
## 382 ALose_v_Neut_R_Insula_run1~1 77 2
## 383 ALose_v_Neut_R_Insula_run1~1 77 3
## 384 ALose_v_Neut_R_Insula_run1~1 77 4
## 385 ALose_v_Neut_R_Insula_run1~1 77 5
## 386 ALose_v_Neut_L_Insula_run2~1 78 1
## 387 ALose_v_Neut_L_Insula_run2~1 78 2
## 388 ALose_v_Neut_L_Insula_run2~1 78 3
## 389 ALose_v_Neut_L_Insula_run2~1 78 4
## 390 ALose_v_Neut_L_Insula_run2~1 78 5
## 391 ALose_v_Neut_R_Insula_run2~1 79 1
## 392 ALose_v_Neut_R_Insula_run2~1 79 2
## 393 ALose_v_Neut_R_Insula_run2~1 79 3
## 394 ALose_v_Neut_R_Insula_run2~1 79 4
## 395 ALose_v_Neut_R_Insula_run2~1 79 5
## 396 BLose_v_Neut_L_Insula_run1~1 80 1
## 397 BLose_v_Neut_L_Insula_run1~1 80 2
## 398 BLose_v_Neut_L_Insula_run1~1 80 3
## 399 BLose_v_Neut_L_Insula_run1~1 80 4
## 400 BLose_v_Neut_L_Insula_run1~1 80 5
## 401 BLose_v_Neut_R_Insula_run1~1 81 1
## 402 BLose_v_Neut_R_Insula_run1~1 81 2
## 403 BLose_v_Neut_R_Insula_run1~1 81 3
## 404 BLose_v_Neut_R_Insula_run1~1 81 4
## 405 BLose_v_Neut_R_Insula_run1~1 81 5
## 406 BLose_v_Neut_L_Insula_run2~1 82 1
## 407 BLose_v_Neut_L_Insula_run2~1 82 2
## 408 BLose_v_Neut_L_Insula_run2~1 82 3
## 409 BLose_v_Neut_L_Insula_run2~1 82 4
## 410 BLose_v_Neut_L_Insula_run2~1 82 5
## 411 BLose_v_Neut_R_Insula_run2~1 83 1
## 412 BLose_v_Neut_R_Insula_run2~1 83 2
## 413 BLose_v_Neut_R_Insula_run2~1 83 3
## 414 BLose_v_Neut_R_Insula_run2~1 83 4
## 415 BLose_v_Neut_R_Insula_run2~1 83 5
## 416 BLose_v_BWin_L_Insula_run1~1 84 1
## 417 BLose_v_BWin_L_Insula_run1~1 84 2
## 418 BLose_v_BWin_L_Insula_run1~1 84 3
## 419 BLose_v_BWin_L_Insula_run1~1 84 4
## 420 BLose_v_BWin_L_Insula_run1~1 84 5
## 421 BLose_v_BWin_R_Insula_run1~1 85 1
## 422 BLose_v_BWin_R_Insula_run1~1 85 2
## 423 BLose_v_BWin_R_Insula_run1~1 85 3
## 424 BLose_v_BWin_R_Insula_run1~1 85 4
## 425 BLose_v_BWin_R_Insula_run1~1 85 5
## 426 BLose_v_BWin_L_Insula_run2~1 86 1
## 427 BLose_v_BWin_L_Insula_run2~1 86 2
## 428 BLose_v_BWin_L_Insula_run2~1 86 3
## 429 BLose_v_BWin_L_Insula_run2~1 86 4
## 430 BLose_v_BWin_L_Insula_run2~1 86 5
## 431 BLose_v_BWin_R_Insula_run2~1 87 1
## 432 BLose_v_BWin_R_Insula_run2~1 87 2
## 433 BLose_v_BWin_R_Insula_run2~1 87 3
## 434 BLose_v_BWin_R_Insula_run2~1 87 4
## 435 BLose_v_BWin_R_Insula_run2~1 87 5
## 436 Approach~1 88 1
## 437 Approach~1 88 2
## 438 Approach~1 88 3
## 439 Approach~1 88 4
## 440 Approach~1 88 5
## 441 Avoid~1 89 1
## 442 Avoid~1 89 2
## 443 Avoid~1 89 3
## 444 Avoid~1 89 4
## 445 Avoid~1 89 5
## 446 rmsea 90 1
## 447 rmsea 90 2
## 448 rmsea 90 3
## 449 rmsea 90 4
## 450 rmsea 90 5
## 451 cfi 91 1
## 452 cfi 91 2
## 453 cfi 91 3
## 454 cfi 91 4
## 455 cfi 91 5
## 456 tli 92 1
## 457 tli 92 2
## 458 tli 92 3
## 459 tli 92 4
## 460 tli 92 5
## 461 gfi 93 1
## 462 gfi 93 2
## 463 gfi 93 3
## 464 gfi 93 4
## 465 gfi 93 5
## 466 srmr 94 1
## 467 srmr 94 2
## 468 srmr 94 3
## 469 srmr 94 4
## 470 srmr 94 5
## est p
## 1 -0.002 0.8
## 2 0.009 0.4
## 3 0.003 0.6
## 4 -0.008 0.4
## 5 -0.007 0.0
## 6 0.006 0.2
## 7 -0.004 0.6
## 8 0.000 0.8
## 9 0.003 1.0
## 10 -0.004 0.8
## 11 0.007 0.4
## 12 0.001 0.8
## 13 -0.005 0.6
## 14 0.001 0.8
## 15 0.002 0.8
## 16 0.001 0.6
## 17 0.003 0.6
## 18 0.001 1.0
## 19 -0.002 0.4
## 20 -0.006 0.4
## 21 0.014 0.2
## 22 -0.001 0.8
## 23 -0.001 0.2
## 24 -0.001 0.8
## 25 -0.010 0.6
## 26 -0.011 0.0
## 27 -0.002 1.0
## 28 -0.004 0.4
## 29 0.008 0.0
## 30 0.012 0.2
## 31 0.011 0.4
## 32 0.006 0.4
## 33 0.000 1.0
## 34 -0.001 0.6
## 35 -0.024 0.0
## 36 -0.006 0.8
## 37 -0.008 0.0
## 38 0.002 0.6
## 39 0.010 0.0
## 40 -0.005 1.0
## 41 0.010 0.6
## 42 -0.001 1.0
## 43 0.001 0.6
## 44 -0.002 1.0
## 45 -0.011 0.8
## 46 -0.008 0.8
## 47 -0.002 0.8
## 48 0.003 0.6
## 49 0.008 0.4
## 50 -0.014 0.2
## 51 -0.023 0.0
## 52 -0.014 0.0
## 53 0.000 1.0
## 54 0.016 0.0
## 55 0.021 0.2
## 56 0.022 0.0
## 57 0.000 0.8
## 58 0.005 0.0
## 59 -0.012 0.0
## 60 -0.013 0.4
## 61 -0.001 0.8
## 62 0.003 0.6
## 63 0.005 0.6
## 64 -0.003 0.8
## 65 -0.015 0.0
## 66 0.004 0.8
## 67 -0.006 0.2
## 68 -0.002 1.0
## 69 0.002 0.6
## 70 0.011 0.4
## 71 -0.018 0.2
## 72 0.001 0.4
## 73 0.006 0.6
## 74 0.001 0.8
## 75 -0.002 0.8
## 76 0.004 0.8
## 77 0.002 0.8
## 78 -0.002 1.0
## 79 0.002 0.8
## 80 -0.009 0.8
## 81 -0.005 0.8
## 82 0.005 1.0
## 83 0.000 1.0
## 84 -0.002 0.8
## 85 0.001 0.8
## 86 -0.014 0.4
## 87 -0.010 0.4
## 88 0.002 0.8
## 89 0.010 0.2
## 90 0.009 0.4
## 91 0.009 0.8
## 92 0.010 0.2
## 93 -0.001 0.8
## 94 -0.009 0.2
## 95 -0.009 0.4
## 96 -0.023 0.2
## 97 -0.004 1.0
## 98 0.014 0.0
## 99 0.001 0.8
## 100 -0.007 0.6
## 101 -0.028 0.0
## 102 -0.006 0.6
## 103 0.011 0.0
## 104 0.010 0.4
## 105 -0.010 0.4
## 106 0.006 0.6
## 107 0.003 0.6
## 108 0.003 0.6
## 109 -0.009 0.2
## 110 -0.002 1.0
## 111 -0.011 0.6
## 112 -0.004 0.6
## 113 0.006 0.2
## 114 0.003 0.8
## 115 -0.003 0.6
## 116 -0.010 0.4
## 117 0.002 0.8
## 118 0.003 0.6
## 119 0.002 0.8
## 120 -0.006 1.0
## 121 -0.023 0.0
## 122 -0.021 0.0
## 123 0.006 0.4
## 124 0.019 0.0
## 125 0.011 0.0
## 126 0.016 0.0
## 127 0.009 0.4
## 128 -0.006 0.0
## 129 -0.012 0.0
## 130 0.007 0.4
## 131 -0.013 0.2
## 132 -0.020 0.0
## 133 0.001 1.0
## 134 0.015 0.0
## 135 0.020 0.4
## 136 0.009 0.2
## 137 0.003 0.4
## 138 -0.003 0.6
## 139 -0.004 0.4
## 140 0.000 0.8
## 141 -0.002 0.6
## 142 -0.001 1.0
## 143 0.001 0.0
## 144 0.001 0.8
## 145 -0.001 0.6
## 146 -0.003 0.2
## 147 -0.002 0.0
## 148 0.001 0.8
## 149 0.002 0.0
## 150 0.002 0.4
## 151 0.003 0.0
## 152 0.000 0.8
## 153 -0.002 0.0
## 154 0.001 0.4
## 155 0.002 0.2
## 156 -0.002 0.6
## 157 0.001 1.0
## 158 0.000 0.6
## 159 0.000 0.8
## 160 -0.001 0.8
## 161 0.000 0.4
## 162 -0.001 0.4
## 163 -0.001 0.8
## 164 0.001 0.4
## 165 0.004 0.0
## 166 0.004 0.2
## 167 0.002 0.2
## 168 -0.001 0.4
## 169 -0.002 0.2
## 170 -0.003 0.0
## 171 -0.001 0.6
## 172 0.000 0.8
## 173 0.000 0.6
## 174 0.000 0.8
## 175 0.003 0.0
## 176 -0.001 0.6
## 177 0.001 0.8
## 178 0.000 0.6
## 179 0.001 0.4
## 180 -0.002 0.6
## 181 0.001 0.6
## 182 0.001 0.0
## 183 -0.001 0.6
## 184 0.000 0.8
## 185 -0.001 0.4
## 186 0.000 0.8
## 187 0.001 0.8
## 188 0.001 0.6
## 189 -0.002 0.4
## 190 -0.002 0.8
## 191 0.000 0.4
## 192 0.001 0.4
## 193 0.002 0.0
## 194 -0.001 0.2
## 195 -0.005 0.2
## 196 -0.001 0.4
## 197 0.002 0.2
## 198 -0.001 1.0
## 199 -0.001 0.6
## 200 0.001 1.0
## 201 0.005 0.0
## 202 0.000 1.0
## 203 0.000 0.2
## 204 -0.003 0.0
## 205 0.000 0.8
## 206 0.000 0.8
## 207 0.002 0.0
## 208 0.002 0.2
## 209 -0.001 0.4
## 210 -0.009 0.0
## 211 0.001 1.0
## 212 0.000 0.4
## 213 0.001 0.4
## 214 -0.001 0.4
## 215 -0.001 0.8
## 216 -0.004 0.2
## 217 -0.002 0.0
## 218 0.001 0.8
## 219 0.002 0.0
## 220 0.002 0.4
## 221 0.001 0.6
## 222 -0.001 0.0
## 223 0.002 0.0
## 224 -0.001 1.0
## 225 -0.004 0.4
## 226 0.002 0.2
## 227 0.003 0.2
## 228 0.000 0.6
## 229 -0.003 0.0
## 230 -0.002 0.8
## 231 -0.001 0.6
## 232 0.000 1.0
## 233 0.000 0.6
## 234 -0.001 0.4
## 235 0.002 0.2
## 236 0.007 0.2
## 237 0.003 0.0
## 238 -0.002 0.0
## 239 -0.003 0.0
## 240 0.000 0.8
## 241 0.000 1.0
## 242 0.001 0.8
## 243 0.001 0.6
## 244 0.000 0.8
## 245 -0.003 0.4
## 246 -0.001 0.4
## 247 0.001 0.6
## 248 0.001 0.6
## 249 0.000 1.0
## 250 -0.001 1.0
## 251 -0.003 0.0
## 252 0.000 1.0
## 253 0.003 0.0
## 254 -0.001 0.8
## 255 -0.004 0.0
## 256 -0.003 0.4
## 257 -0.002 0.8
## 258 0.000 0.8
## 259 0.002 0.4
## 260 0.003 0.6
## 261 0.002 0.4
## 262 0.002 0.2
## 263 -0.001 0.4
## 264 -0.003 0.0
## 265 0.002 0.2
## 266 0.005 0.0
## 267 0.002 0.0
## 268 0.000 0.8
## 269 -0.003 0.0
## 270 -0.002 0.6
## 271 0.002 0.6
## 272 0.002 0.0
## 273 -0.001 0.2
## 274 0.000 1.0
## 275 -0.003 0.0
## 276 0.000 1.0
## 277 0.001 0.8
## 278 0.001 0.6
## 279 -0.001 0.4
## 280 0.000 0.8
## 281 0.000 1.0
## 282 0.000 1.0
## 283 0.000 1.0
## 284 0.000 1.0
## 285 0.000 1.0
## 286 0.000 1.0
## 287 0.000 1.0
## 288 0.000 1.0
## 289 0.000 1.0
## 290 0.000 1.0
## 291 0.061 0.2
## 292 0.028 0.2
## 293 -0.040 0.0
## 294 0.010 1.0
## 295 -0.043 0.4
## 296 0.031 0.0
## 297 0.014 0.2
## 298 -0.008 0.0
## 299 -0.013 0.0
## 300 -0.015 0.2
## 301 -0.007 1.0
## 302 0.002 0.8
## 303 0.011 0.0
## 304 -0.006 0.2
## 305 -0.016 0.2
## 306 -0.008 0.4
## 307 0.003 0.6
## 308 0.003 0.6
## 309 -0.002 0.8
## 310 -0.001 0.6
## 311 0.015 0.0
## 312 0.008 0.2
## 313 -0.002 0.4
## 314 -0.010 0.0
## 315 -0.008 0.4
## 316 0.000 0.6
## 317 0.008 0.4
## 318 0.003 1.0
## 319 -0.005 0.2
## 320 -0.014 0.2
## 321 0.003 0.0
## 322 -0.001 0.8
## 323 0.004 0.6
## 324 -0.004 0.2
## 325 -0.003 0.0
## 326 0.002 0.4
## 327 -0.003 0.8
## 328 -0.002 0.4
## 329 0.005 0.2
## 330 -0.003 0.8
## 331 0.020 0.0
## 332 0.000 0.4
## 333 -0.005 0.2
## 334 -0.006 0.6
## 335 0.003 0.4
## 336 0.003 0.6
## 337 -0.005 0.4
## 338 -0.002 0.6
## 339 0.004 0.2
## 340 0.004 0.6
## 341 0.002 0.6
## 342 0.000 1.0
## 343 -0.004 0.2
## 344 0.005 0.8
## 345 0.000 0.6
## 346 0.019 0.0
## 347 -0.001 0.8
## 348 -0.005 0.2
## 349 -0.003 0.2
## 350 0.001 1.0
## 351 0.016 0.0
## 352 -0.003 0.8
## 353 -0.001 0.6
## 354 -0.001 1.0
## 355 -0.009 0.4
## 356 0.019 0.2
## 357 -0.002 0.4
## 358 -0.005 0.4
## 359 -0.007 0.4
## 360 0.012 0.2
## 361 0.013 0.0
## 362 0.015 0.0
## 363 -0.005 0.0
## 364 -0.014 0.0
## 365 -0.001 0.6
## 366 0.018 0.0
## 367 0.008 0.4
## 368 -0.009 0.0
## 369 -0.009 0.2
## 370 0.008 0.2
## 371 0.013 0.0
## 372 0.008 0.0
## 373 -0.010 0.0
## 374 -0.004 0.0
## 375 0.006 0.4
## 376 0.005 1.0
## 377 -0.003 0.6
## 378 -0.004 1.0
## 379 0.002 1.0
## 380 0.008 0.8
## 381 0.006 0.8
## 382 0.005 0.2
## 383 0.001 0.8
## 384 -0.005 0.2
## 385 -0.011 0.4
## 386 0.001 0.8
## 387 0.001 0.8
## 388 -0.007 0.6
## 389 0.004 0.6
## 390 0.008 0.6
## 391 -0.002 0.4
## 392 0.005 0.4
## 393 0.002 0.4
## 394 0.000 0.6
## 395 -0.013 0.0
## 396 0.022 0.0
## 397 -0.002 0.6
## 398 -0.008 0.0
## 399 -0.001 1.0
## 400 0.005 0.8
## 401 -0.009 0.4
## 402 -0.011 0.0
## 403 0.002 0.6
## 404 0.008 0.2
## 405 0.012 0.0
## 406 -0.003 0.4
## 407 -0.002 1.0
## 408 0.002 0.2
## 409 0.003 0.8
## 410 -0.004 0.8
## 411 -0.008 0.4
## 412 -0.006 0.2
## 413 0.006 0.0
## 414 0.005 0.4
## 415 -0.006 0.4
## 416 -0.002 0.8
## 417 0.008 0.0
## 418 0.002 0.2
## 419 -0.007 0.2
## 420 -0.007 0.6
## 421 0.002 0.4
## 422 0.000 0.8
## 423 0.004 0.4
## 424 0.000 0.8
## 425 -0.013 0.6
## 426 0.000 0.8
## 427 0.000 0.8
## 428 0.004 0.2
## 429 -0.007 0.0
## 430 0.004 0.8
## 431 -0.027 0.0
## 432 -0.007 0.2
## 433 0.008 0.0
## 434 0.008 0.0
## 435 0.006 0.4
## 436 0.000 1.0
## 437 0.000 1.0
## 438 0.000 1.0
## 439 0.000 1.0
## 440 0.000 1.0
## 441 0.000 1.0
## 442 0.000 1.0
## 443 0.000 1.0
## 444 0.000 1.0
## 445 0.000 1.0
## 446 0.006 0.0
## 447 -0.004 0.2
## 448 -0.004 0.8
## 449 0.002 0.0
## 450 0.011 0.2
## 451 -0.065 0.8
## 452 0.010 1.0
## 453 0.037 0.2
## 454 0.006 0.8
## 455 -0.071 0.4
## 456 -0.071 0.8
## 457 0.010 1.0
## 458 0.040 0.2
## 459 0.007 0.8
## 460 -0.077 0.4
## 461 -0.016 0.0
## 462 0.012 0.4
## 463 0.012 0.8
## 464 -0.005 0.0
## 465 -0.029 0.2
## 466 0.006 0.4
## 467 -0.002 0.8
## 468 -0.004 0.8
## 469 0.000 0.6
## 470 0.008 0.4
In the manuscript, several sensitivity analyses are proposed:
In the chunk below, the PDS simulated data will be used as the filter, assuming that PDS 3 are the values reflecting the site of interest.
ABCD_site_spec <- sim_ABCD_data %>% filter(PDS == 3)
sim_AHRB_data$PDS <- NA
sim_MLS_data$PDS <- NA
UM_site_spec <- rbind(sim_AHRB_data,
sim_MLS_data,
ABCD_site_spec # UM specified ABCD data
)UM_all_sample <- cfa(model = MID_model, data = UM_site_spec,
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)
UM_config_cfa <- cfa(model = MID_model, data = UM_site_spec, group = 'set',
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)
UM_metric_cfa <-cfa(model = MID_model, data = UM_site_spec,
group = 'set', group.equal=c("loadings"),
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)
UMsite_out <- matrix(NA, ncol = 9, nrow = 3)
colnames(UMsite_out) <- c("model","chisq","df","pvalue", "rmsea", "cfi", "srmr",
"AIC", "BIC")
# save fit measures from models
UMsite_out[1,2:7] <- round(data.matrix(fitmeasures(UM_all_sample,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi", "srmr"))),
digits=3)
UMsite_out[2,2:7] <- round(data.matrix(fitmeasures(UM_config_cfa,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi", "srmr"))),
digits=3)
UMsite_out[3,2:7] <- round(data.matrix(fitmeasures(UM_metric_cfa,
fit.measures = c("chisq","df","pvalue",
"rmsea", "cfi", "srmr"))),
digits=3)
UMsite_out[1,8] <- round(AIC(UM_all_sample),3)
UMsite_out[2,8] <- round(AIC(UM_config_cfa),3)
UMsite_out[3,8] <- round(AIC(UM_metric_cfa),3)
# BIC models
UMsite_out[1,9] <- round(BIC(UM_all_sample),3)
UMsite_out[2,9] <- round(BIC(UM_config_cfa),3)
UMsite_out[3,9] <- round(BIC(UM_metric_cfa),3)
UMsite_out[1:3,1] <- c("Overall CFA", "Config MG-CFA", "Metric MG-CFA")
UMsite_out %>%
knitr::kable(
caption = "Fit statistics from MG-CFA and ESEM models",
booktabs = TRUE
)| model | chisq | df | pvalue | rmsea | cfi | srmr | AIC | BIC |
|---|---|---|---|---|---|---|---|---|
| Overall CFA | 1167.367 | 349 | 0 | 0.065 | 0.665 | 0.057 | -9462.261 | -9094.083 |
| Config MG-CFA | 1915.884 | 1047 | 0 | 0.067 | 0.654 | 0.073 | -9275.648 | -8171.115 |
| Metric MG-CFA | 1974.859 | 1099 | 0 | 0.065 | 0.651 | 0.078 | -9320.674 | -8441.379 |
In this case, only the data for the ABCD sample changes (reduced from 21 –> 1 site [UM]). Hence, rerunning only the ABCD EFA. Factor congruence estimation will use EFA from above for AHRB and MLS.
UM_abcd_efadata = subset(UM_site_spec[,c("AWin_v_Neut_L_NAcc_run1" ,"AWin_v_Neut_L_NAcc_run2" ,
"BWin_v_Neut_L_NAcc_run1" ,"BWin_v_Neut_L_NAcc_run2" ,
"BWin_v_BLose_L_NAcc_run1" ,"BWin_v_BLose_L_NAcc_run2",
"AWin_v_Neut_R_NAcc_run1" , "AWin_v_Neut_R_NAcc_run2",
"BWin_v_Neut_R_NAcc_run1" , "BWin_v_Neut_R_NAcc_run2",
"BWin_v_BLose_R_NAcc_run1", "BWin_v_BLose_R_NAcc_run2",
# insula values apprach
"AWin_v_Neut_R_Insula_run1","AWin_v_Neut_R_Insula_run2",
"BWin_v_Neut_R_Insula_run1","BWin_v_Neut_R_Insula_run2",
# avoidance
"ALose_v_Neut_L_Insula_run1","ALose_v_Neut_L_Insula_run2",
"BLose_v_Neut_L_Insula_run1","BLose_v_Neut_L_Insula_run2",
"BLose_v_BWin_L_Insula_run1","BLose_v_BWin_L_Insula_run2",
"ALose_v_Neut_R_Insula_run1","ALose_v_Neut_R_Insula_run2",
"BLose_v_Neut_R_Insula_run1","BLose_v_Neut_R_Insula_run2",
"BLose_v_BWin_R_Insula_run1","BLose_v_BWin_R_Insula_run2",
"set")] %>% filter(set==1))
paran(x = UM_abcd_efadata[,1:28],
iterations = 1000, quietly = FALSE, centile = 95,
status = FALSE, all = TRUE, cfa = TRUE, graph = TRUE, color = TRUE,
col = c("black", "red", "blue"), lty = c(1, 2, 3), lwd = 1, legend = TRUE,
seed = 100)##
## Using eigendecomposition of correlation matrix.
##
## Results of Horn's Parallel Analysis for factor retention
## 1000 iterations, using the 95 centile estimate
##
## --------------------------------------------------
## Factor Adjusted Unadjusted Estimated
## Eigenvalue Eigenvalue Bias
## --------------------------------------------------
## No components passed.
## --------------------------------------------------
## 1 3.628570 4.436251 0.807681
## 2 0.397564 1.102327 0.704762
## 3 0.192784 0.810407 0.617622
## 4 0.246962 0.798866 0.551903
## 5 0.142275 0.636878 0.494602
## 6 0.188467 0.627145 0.438678
## 7 0.179993 0.569582 0.389589
## 8 0.102263 0.445540 0.343277
## 9 0.063590 0.363779 0.300188
## 10 0.051445 0.311718 0.260272
## 11 0.060812 0.280569 0.219757
## 12 0.041416 0.222636 0.181219
## 13 0.038991 0.183582 0.144591
## 14 0.042094 0.149378 0.107284
## 15 -0.062117 0.011462 0.073580
## 16 -0.066274 -0.02475 0.041519
## 17 -0.073236 -0.06771 0.005522
## 18 -0.065103 -0.09174 -0.02664
## 19 -0.048208 -0.10881 -0.06060
## 20 -0.081346 -0.17265 -0.09130
## 21 -0.063693 -0.18635 -0.12266
## 22 -0.069725 -0.22210 -0.15238
## 23 -0.054965 -0.23672 -0.18176
## 24 -0.035486 -0.24929 -0.21380
## 25 -0.027979 -0.27179 -0.24381
## 26 -0.038075 -0.31251 -0.27444
## 27 -0.013812 -0.32266 -0.30885
## 28 0.011275 -0.33361 -0.34489
## --------------------------------------------------
##
## Adjusted eigenvalues > 0 indicate dimensions to retain.
## (14 factors retained)
plot(nScree(x=UM_abcd_efadata[,1:28],model="factors"))UM_abcd_efa <- factanal(x = UM_abcd_efadata[,1:28], #raw data
factors = 2, rotation = "promax" # oblique rotation allow for non-orthogonal structure
)
heatmaply(round(UM_abcd_efa$loadings[,1:2],2) %>% print(sort = T),
scale_fill_gradient_fun = ggplot2::scale_fill_gradient2(
low = "blue",
high = "darkred",
space = "Lab",
midpoint = 0,
limits = c(-1, 1)
),
dendrogram = "none",
xlab = "", ylab = "",
main = "",
margins = c(60,100,40,20),
grid_color = "white",
grid_width = 0.00001,
titleX = FALSE,
hide_colorbar = FALSE,
branches_lwd = 0.1,
label_names = c("Brain:", "Feature:", "Value"),
fontsize_row = 9, fontsize_col = 9,
labCol = colnames(UM_abcd_efa$loadings[,1:2]),
labRow = rownames(UM_abcd_efa$loadings[,1:2]),
heatmap_layers = theme(axis.line=element_blank()),
)## Factor1 Factor2
## AWin_v_Neut_L_NAcc_run1 -0.10 0.36
## AWin_v_Neut_L_NAcc_run2 -0.19 0.33
## BWin_v_Neut_L_NAcc_run1 0.02 0.51
## BWin_v_Neut_L_NAcc_run2 -0.17 0.28
## BWin_v_BLose_L_NAcc_run1 -0.25 0.29
## BWin_v_BLose_L_NAcc_run2 -0.16 0.31
## AWin_v_Neut_R_NAcc_run1 0.15 0.59
## AWin_v_Neut_R_NAcc_run2 0.21 0.71
## BWin_v_Neut_R_NAcc_run1 0.03 0.42
## BWin_v_Neut_R_NAcc_run2 -0.09 0.33
## BWin_v_BLose_R_NAcc_run1 -0.01 0.44
## BWin_v_BLose_R_NAcc_run2 0.06 0.53
## AWin_v_Neut_R_Insula_run1 -0.23 0.02
## AWin_v_Neut_R_Insula_run2 -0.02 0.22
## BWin_v_Neut_R_Insula_run1 -0.01 0.27
## BWin_v_Neut_R_Insula_run2 -0.21 0.20
## ALose_v_Neut_L_Insula_run1 0.38 -0.03
## ALose_v_Neut_L_Insula_run2 0.38 -0.04
## BLose_v_Neut_L_Insula_run1 0.45 -0.03
## BLose_v_Neut_L_Insula_run2 0.41 0.00
## BLose_v_BWin_L_Insula_run1 0.52 0.02
## BLose_v_BWin_L_Insula_run2 0.56 0.13
## ALose_v_Neut_R_Insula_run1 0.54 0.03
## ALose_v_Neut_R_Insula_run2 0.69 0.11
## BLose_v_Neut_R_Insula_run1 0.42 -0.08
## BLose_v_Neut_R_Insula_run2 0.42 -0.04
## BLose_v_BWin_R_Insula_run1 0.33 0.18
## BLose_v_BWin_R_Insula_run2 0.35 0.18
fa.congruence(x = list(UM_abcd_efa, mls_efa, ahrb_efa), digits = 2) %>%
knitr::kable(
col.names = c("1. ABCD F1", "2. ABCD F2",
"3. MLS F1", "4. MLS F2","5. MLS F3",
"6. AHRB F1", "7. AHRB F2","8. AHRB F3", "8. AHRB F4"),
caption = "ABCD, MLS and AHRB EFA Factor Congruence",
booktabs = TRUE
)| 1. ABCD F1 | 2. ABCD F2 | 3. MLS F1 | 4. MLS F2 | 5. MLS F3 | 6. AHRB F1 | 7. AHRB F2 | 8. AHRB F3 | 8. AHRB F4 | |
|---|---|---|---|---|---|---|---|---|---|
| Factor1 | 1.00 | 0.05 | -0.10 | 0.79 | 0.44 | 0.66 | -0.25 | 0.06 | 0.69 |
| Factor2 | 0.05 | 1.00 | 0.89 | 0.12 | 0.14 | -0.15 | 0.57 | 0.48 | 0.08 |
| Factor1 | -0.10 | 0.89 | 1.00 | 0.07 | 0.15 | -0.21 | 0.68 | 0.38 | -0.01 |
| Factor2 | 0.79 | 0.12 | 0.07 | 1.00 | 0.05 | 0.51 | -0.07 | 0.02 | 0.67 |
| Factor3 | 0.44 | 0.14 | 0.15 | 0.05 | 1.00 | 0.37 | 0.13 | 0.00 | 0.34 |
| Factor1 | 0.66 | -0.15 | -0.21 | 0.51 | 0.37 | 1.00 | -0.06 | 0.17 | 0.22 |
| Factor2 | -0.25 | 0.57 | 0.68 | -0.07 | 0.13 | -0.06 | 1.00 | -0.12 | -0.09 |
| Factor3 | 0.06 | 0.48 | 0.38 | 0.02 | 0.00 | 0.17 | -0.12 | 1.00 | -0.13 |
| Factor4 | 0.69 | 0.08 | -0.01 | 0.67 | 0.34 | 0.22 | -0.09 | -0.13 | 1.00 |
abcd_resamp_df <- subset(brain_set[,c("AWin_v_Neut_L_NAcc_run1" ,"AWin_v_Neut_L_NAcc_run2" ,
"BWin_v_Neut_L_NAcc_run1" ,"BWin_v_Neut_L_NAcc_run2" ,
"BWin_v_BLose_L_NAcc_run1" ,"BWin_v_BLose_L_NAcc_run2",
"AWin_v_Neut_R_NAcc_run1" , "AWin_v_Neut_R_NAcc_run2",
"BWin_v_Neut_R_NAcc_run1" , "BWin_v_Neut_R_NAcc_run2",
"BWin_v_BLose_R_NAcc_run1", "BWin_v_BLose_R_NAcc_run2",
# insula values apprach
"AWin_v_Neut_R_Insula_run1","AWin_v_Neut_R_Insula_run2",
"BWin_v_Neut_R_Insula_run1","BWin_v_Neut_R_Insula_run2",
# avoidance
"ALose_v_Neut_L_Insula_run1","ALose_v_Neut_L_Insula_run2",
"BLose_v_Neut_L_Insula_run1","BLose_v_Neut_L_Insula_run2",
"BLose_v_BWin_L_Insula_run1","BLose_v_BWin_L_Insula_run2",
"ALose_v_Neut_R_Insula_run1","ALose_v_Neut_R_Insula_run2",
"BLose_v_Neut_R_Insula_run1","BLose_v_Neut_R_Insula_run2",
"BLose_v_BWin_R_Insula_run1","BLose_v_BWin_R_Insula_run2",
"set")] %>% filter(set==1))For resampling of the CFA model, using bootstrapLavaan for lavaan. First fitting the cfa model, then creating 1000 bootstrapped sampled and extracting fit statistics
set.seed(1111)
boot_cfa <- cfa(model = MID_model, data = abcd_resamp_df,
estimator = "MLR", std.lv = TRUE, meanstructure = TRUE)
out_cfaboot <- bootstrapLavaan(object = boot_cfa, R = 1000,
FUN = fitMeasures,
fit.measures=c("chisq","rmsea","cfi",
"tli","srmr","AIC","BIC"),
parallel="multicore", ncpus=4)
cfaboot_df <- data.frame(out_cfaboot)For the resampling of the EFA model, using sample_n to get [1000] samples of N = 1000 (w/ replacement) of ABCD data. Then, estimating recommended N of factors per paralell analysis. Saving this to dataframe
# create empty df where data will be saved and compiled for models
#resampled_cfa <- matrix(NA, ncol = 11, nrow = 50) # resampling 50x for Config + #Metric models
#colnames(resampled_cfa) <- c("Sample",
# "chisq","df","pvalue",
# "rmsea","cfi","tli","srmr","AIC","BIC","Factors")
#
#n_loop = 50
resampled_cfa <- matrix(NA, ncol = 2, nrow = 1000) # resampling 50x for Config + Metric models
colnames(resampled_cfa) <- c("Sample","Factors")
samples = 1000
for (s in 1:samples) {
sub_df <- sample_n(tbl = abcd_resamp_df, size = 1000, replace = TRUE)
resampled_cfa[s,1] <- s
val <- nScree(x=sub_df[,1:28],model="factors")
resampled_cfa[s,2] <- as.integer(val$Components[3])
}
resampled_res <- data.frame(resampled_cfa)Plotting the mean + 95% Confidence interval of values
n = 1000
ci_plt1 <- cfaboot_df %>%
gather(key = "FitIndex", value = "Statistic",
srmr,rmsea) %>%
dplyr::group_by(FitIndex) %>%
dplyr::summarize(m = mean(Statistic), stdev = sd(Statistic)) %>%
ggplot(aes(x =FitIndex, y = m, fill = FitIndex, color=FitIndex)) +
geom_point()+
geom_errorbar(aes(ymin=m-(1.96*stdev/sqrt(n)),
ymax=m+(1.96*stdev/sqrt(n))),
width=.2,
position=position_dodge(0.05))+
labs(
title = 'CFA: RMSEA & SRMR',
x = 'Fit Stats',
y = 'Type',
)+
theme_minimal()
ci_plt2 <- cfaboot_df %>%
gather(key = "FitIndex", value = "Statistic",
cfi,tli) %>%
dplyr::group_by(FitIndex) %>%
dplyr::summarize(m = mean(Statistic), stdev = sd(Statistic)) %>%
ggplot(aes(x =FitIndex, y = m, fill = FitIndex, color=FitIndex)) +
geom_point()+
geom_errorbar(aes(ymin=m-(1.96*stdev/sqrt(n)),
ymax=m+(1.96*stdev/sqrt(n))),
width=.2,
position=position_dodge(0.05))+
labs(
title = 'CFA: CFI & TLI',
x = 'Fit Stats',
y = 'Type',
)+
theme_minimal()
ci_plt3 <- cfaboot_df %>%
gather(key = "FitIndex", value = "Statistic",
aic,bic) %>%
dplyr::group_by(FitIndex) %>%
dplyr::summarize(m = mean(Statistic), stdev = sd(Statistic)) %>%
ggplot(aes(x =FitIndex, y = m, fill = FitIndex, color=FitIndex)) +
geom_point()+
geom_errorbar(aes(ymin=m-(1.96*stdev/sqrt(n)),
ymax=m+(1.96*stdev/sqrt(n))),
width=.2,
position=position_dodge(0.05))+
labs(
title = 'CFA: AIC & BIC',
x = 'Fit Stats',
y = 'Type',
)+
theme_minimal()
ci_plt4 = resampled_res %>%
dplyr::summarize(m = mean(Factors), stdev = sd(Factors)) %>%
ggplot(aes(x ="", y = m)) +
geom_point()+
geom_errorbar(aes(ymin=m-(1.96*stdev/sqrt(n)),
ymax=m+(1.96*stdev/sqrt(n))),
width=.2,
position=position_dodge(0.05))+
ylim(0,5)+
labs(
title = 'EFA Factors',
x = '',
y = 'Number of Factors',
)+
theme_minimal()
ci_plt1;ci_plt2;ci_plt3;ci_plt4Plotting the distribution of values
plt1 <- cfaboot_df %>%
gather(key = "FitIndex", value = "Statistic",
srmr,rmsea) %>%
ggplot(aes(x =FitIndex, y = Statistic, fill = FitIndex, color=FitIndex)) +
ggdist::stat_halfeye(adjust = .5, width = .7, .width = 0, justification = -.2,
point_colour = NA, alpha = .5) +
geom_boxplot(width = .2, outlier.shape = NA, alpha = .3) +
geom_jitter(width = .05, alpha = .5) +
theme_minimal()+
labs(
title = 'CFA: RMSEA & SRMR',
x = 'Fit Stats',
y = 'Type',
)
plt2 = cfaboot_df %>%
gather(key = "FitIndex", value = "Statistic",
cfi,tli) %>%
ggplot(aes(x =FitIndex, y = Statistic, fill = FitIndex, color=FitIndex)) +
ggdist::stat_halfeye(adjust = .5, width = .7, .width = 0, justification = -.2,
point_colour = NA, alpha = .5) +
geom_boxplot(width = .2, outlier.shape = NA, alpha = .3) +
geom_jitter(width = .05, alpha = .5) +
theme_minimal()+
labs(
title = 'CFA: CFI & TLI',
x = 'Fit Stats',
y = 'Type',
)
plt3 = cfaboot_df %>%
gather(key = "FitIndex", value = "Statistic",
aic,bic) %>%
ggplot(aes(x =FitIndex, y = Statistic, fill = FitIndex, color=FitIndex)) +
ggdist::stat_halfeye(adjust = .5, width = .7, .width = 0, justification = -.2,
point_colour = NA, alpha = .5) +
geom_boxplot(width = .2, outlier.shape = NA, alpha = .3) +
geom_jitter(width = .05, alpha = .5) +
theme_minimal()+
labs(
title = 'CFA: AIC & BIC',
x = 'Fit Stats',
y = 'Type',
)
avg = round(mean(resampled_res$Factors),1)
minimum = min(resampled_res$Factors)
maximum = max(resampled_res$Factors)
plt4 = resampled_res %>%
ggplot(aes(x ="", y = Factors)) +
ggdist::stat_halfeye(adjust = .5, width = .7, .width = 0, justification = -.2,
point_colour = NA, alpha = .5) +
geom_jitter(width = .05, alpha = .5) +
theme_minimal()+
labs(
title = 'EFA: Parallel Analysis Recommended Factors',
subtitle = paste("Mean: ",avg," [Min: ", minimum, "Max:", maximum,"]"),
x = 'Fit Stats',
y = 'Type',
)
plt1;plt2;plt3;plt4